<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GtkFileChooser: GTK+ 3 Reference Manual</title>
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
<link rel="home" href="index.html" title="GTK+ 3 Reference Manual">
<link rel="up" href="SelectorWidgets.html" title="Selector Widgets and Dialogs">
<link rel="prev" href="GtkColorChooserDialog.html" title="GtkColorChooserDialog">
<link rel="next" href="GtkFileChooserButton.html" title="GtkFileChooserButton">
<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
<td width="100%" align="left" class="shortcuts">
<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
                  <a href="#GtkFileChooser.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
                  <a href="#GtkFileChooser.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_prerequisites">  <span class="dim">|</span> 
                  <a href="#GtkFileChooser.prerequisites" class="shortcut">Prerequisites</a></span><span id="nav_implementations">  <span class="dim">|</span> 
                  <a href="#GtkFileChooser.implementations" class="shortcut">Known Implementations</a></span><span id="nav_properties">  <span class="dim">|</span> 
                  <a href="#GtkFileChooser.properties" class="shortcut">Properties</a></span><span id="nav_signals">  <span class="dim">|</span> 
                  <a href="#GtkFileChooser.signals" class="shortcut">Signals</a></span>
</td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
<td><a accesskey="u" href="SelectorWidgets.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
<td><a accesskey="p" href="GtkColorChooserDialog.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="GtkFileChooserButton.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
<div class="refentry">
<a name="GtkFileChooser"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2><span class="refentrytitle"><a name="GtkFileChooser.top_of_page"></a>GtkFileChooser</span></h2>
<p>GtkFileChooser — File chooser interface used by GtkFileChooserWidget and GtkFileChooserDialog</p>
</td>
<td class="gallery_image" valign="top" align="right"></td>
</tr></table></div>
<div class="refsect1">
<a name="GtkFileChooser.functions"></a><h2>Functions</h2>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="functions_proto_type">
<col class="functions_proto_name">
</colgroup>
<tbody>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-set-action" title="gtk_file_chooser_set_action ()">gtk_file_chooser_set_action</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="GtkFileChooser.html#GtkFileChooserAction" title="enum GtkFileChooserAction"><span class="returnvalue">GtkFileChooserAction</span></a>
</td>
<td class="function_name">
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-get-action" title="gtk_file_chooser_get_action ()">gtk_file_chooser_get_action</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-set-local-only" title="gtk_file_chooser_set_local_only ()">gtk_file_chooser_set_local_only</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-get-local-only" title="gtk_file_chooser_get_local_only ()">gtk_file_chooser_get_local_only</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-set-select-multiple" title="gtk_file_chooser_set_select_multiple ()">gtk_file_chooser_set_select_multiple</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-get-select-multiple" title="gtk_file_chooser_get_select_multiple ()">gtk_file_chooser_get_select_multiple</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-set-show-hidden" title="gtk_file_chooser_set_show_hidden ()">gtk_file_chooser_set_show_hidden</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-get-show-hidden" title="gtk_file_chooser_get_show_hidden ()">gtk_file_chooser_get_show_hidden</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-set-do-overwrite-confirmation" title="gtk_file_chooser_set_do_overwrite_confirmation ()">gtk_file_chooser_set_do_overwrite_confirmation</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-get-do-overwrite-confirmation" title="gtk_file_chooser_get_do_overwrite_confirmation ()">gtk_file_chooser_get_do_overwrite_confirmation</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-set-create-folders" title="gtk_file_chooser_set_create_folders ()">gtk_file_chooser_set_create_folders</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-get-create-folders" title="gtk_file_chooser_get_create_folders ()">gtk_file_chooser_get_create_folders</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-set-current-name" title="gtk_file_chooser_set_current_name ()">gtk_file_chooser_set_current_name</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gchar</span> *
</td>
<td class="function_name">
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-get-current-name" title="gtk_file_chooser_get_current_name ()">gtk_file_chooser_get_current_name</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gchar</span> *
</td>
<td class="function_name">
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-get-filename" title="gtk_file_chooser_get_filename ()">gtk_file_chooser_get_filename</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-set-filename" title="gtk_file_chooser_set_filename ()">gtk_file_chooser_set_filename</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-select-filename" title="gtk_file_chooser_select_filename ()">gtk_file_chooser_select_filename</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-unselect-filename" title="gtk_file_chooser_unselect_filename ()">gtk_file_chooser_unselect_filename</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-select-all" title="gtk_file_chooser_select_all ()">gtk_file_chooser_select_all</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-unselect-all" title="gtk_file_chooser_unselect_all ()">gtk_file_chooser_unselect_all</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">GSList</span> *
</td>
<td class="function_name">
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-get-filenames" title="gtk_file_chooser_get_filenames ()">gtk_file_chooser_get_filenames</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-set-current-folder" title="gtk_file_chooser_set_current_folder ()">gtk_file_chooser_set_current_folder</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gchar</span> *
</td>
<td class="function_name">
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-get-current-folder" title="gtk_file_chooser_get_current_folder ()">gtk_file_chooser_get_current_folder</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gchar</span> *
</td>
<td class="function_name">
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-get-uri" title="gtk_file_chooser_get_uri ()">gtk_file_chooser_get_uri</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-set-uri" title="gtk_file_chooser_set_uri ()">gtk_file_chooser_set_uri</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-select-uri" title="gtk_file_chooser_select_uri ()">gtk_file_chooser_select_uri</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-unselect-uri" title="gtk_file_chooser_unselect_uri ()">gtk_file_chooser_unselect_uri</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">GSList</span> *
</td>
<td class="function_name">
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-get-uris" title="gtk_file_chooser_get_uris ()">gtk_file_chooser_get_uris</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-set-current-folder-uri" title="gtk_file_chooser_set_current_folder_uri ()">gtk_file_chooser_set_current_folder_uri</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gchar</span> *
</td>
<td class="function_name">
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-get-current-folder-uri" title="gtk_file_chooser_get_current_folder_uri ()">gtk_file_chooser_get_current_folder_uri</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-set-preview-widget" title="gtk_file_chooser_set_preview_widget ()">gtk_file_chooser_set_preview_widget</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="GtkWidget.html" title="GtkWidget"><span class="returnvalue">GtkWidget</span></a> *
</td>
<td class="function_name">
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-get-preview-widget" title="gtk_file_chooser_get_preview_widget ()">gtk_file_chooser_get_preview_widget</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-set-preview-widget-active" title="gtk_file_chooser_set_preview_widget_active ()">gtk_file_chooser_set_preview_widget_active</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-get-preview-widget-active" title="gtk_file_chooser_get_preview_widget_active ()">gtk_file_chooser_get_preview_widget_active</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-set-use-preview-label" title="gtk_file_chooser_set_use_preview_label ()">gtk_file_chooser_set_use_preview_label</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-get-use-preview-label" title="gtk_file_chooser_get_use_preview_label ()">gtk_file_chooser_get_use_preview_label</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">char</span> *
</td>
<td class="function_name">
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-get-preview-filename" title="gtk_file_chooser_get_preview_filename ()">gtk_file_chooser_get_preview_filename</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">char</span> *
</td>
<td class="function_name">
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-get-preview-uri" title="gtk_file_chooser_get_preview_uri ()">gtk_file_chooser_get_preview_uri</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-set-extra-widget" title="gtk_file_chooser_set_extra_widget ()">gtk_file_chooser_set_extra_widget</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="GtkWidget.html" title="GtkWidget"><span class="returnvalue">GtkWidget</span></a> *
</td>
<td class="function_name">
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-get-extra-widget" title="gtk_file_chooser_get_extra_widget ()">gtk_file_chooser_get_extra_widget</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-add-choice" title="gtk_file_chooser_add_choice ()">gtk_file_chooser_add_choice</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-remove-choice" title="gtk_file_chooser_remove_choice ()">gtk_file_chooser_remove_choice</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-set-choice" title="gtk_file_chooser_set_choice ()">gtk_file_chooser_set_choice</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">const <span class="returnvalue">char</span> *
</td>
<td class="function_name">
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-get-choice" title="gtk_file_chooser_get_choice ()">gtk_file_chooser_get_choice</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-add-filter" title="gtk_file_chooser_add_filter ()">gtk_file_chooser_add_filter</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-remove-filter" title="gtk_file_chooser_remove_filter ()">gtk_file_chooser_remove_filter</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">GSList</span> *
</td>
<td class="function_name">
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-list-filters" title="gtk_file_chooser_list_filters ()">gtk_file_chooser_list_filters</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-set-filter" title="gtk_file_chooser_set_filter ()">gtk_file_chooser_set_filter</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="GtkFileFilter.html" title="GtkFileFilter"><span class="returnvalue">GtkFileFilter</span></a> *
</td>
<td class="function_name">
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-get-filter" title="gtk_file_chooser_get_filter ()">gtk_file_chooser_get_filter</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-add-shortcut-folder" title="gtk_file_chooser_add_shortcut_folder ()">gtk_file_chooser_add_shortcut_folder</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-remove-shortcut-folder" title="gtk_file_chooser_remove_shortcut_folder ()">gtk_file_chooser_remove_shortcut_folder</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">GSList</span> *
</td>
<td class="function_name">
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-list-shortcut-folders" title="gtk_file_chooser_list_shortcut_folders ()">gtk_file_chooser_list_shortcut_folders</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-add-shortcut-folder-uri" title="gtk_file_chooser_add_shortcut_folder_uri ()">gtk_file_chooser_add_shortcut_folder_uri</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-remove-shortcut-folder-uri" title="gtk_file_chooser_remove_shortcut_folder_uri ()">gtk_file_chooser_remove_shortcut_folder_uri</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">GSList</span> *
</td>
<td class="function_name">
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-list-shortcut-folder-uris" title="gtk_file_chooser_list_shortcut_folder_uris ()">gtk_file_chooser_list_shortcut_folder_uris</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">GFile</span> *
</td>
<td class="function_name">
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-get-current-folder-file" title="gtk_file_chooser_get_current_folder_file ()">gtk_file_chooser_get_current_folder_file</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">GFile</span> *
</td>
<td class="function_name">
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-get-file" title="gtk_file_chooser_get_file ()">gtk_file_chooser_get_file</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">GSList</span> *
</td>
<td class="function_name">
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-get-files" title="gtk_file_chooser_get_files ()">gtk_file_chooser_get_files</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">GFile</span> *
</td>
<td class="function_name">
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-get-preview-file" title="gtk_file_chooser_get_preview_file ()">gtk_file_chooser_get_preview_file</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-select-file" title="gtk_file_chooser_select_file ()">gtk_file_chooser_select_file</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-set-current-folder-file" title="gtk_file_chooser_set_current_folder_file ()">gtk_file_chooser_set_current_folder_file</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-set-file" title="gtk_file_chooser_set_file ()">gtk_file_chooser_set_file</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-unselect-file" title="gtk_file_chooser_unselect_file ()">gtk_file_chooser_unselect_file</a> <span class="c_punctuation">()</span>
</td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect1">
<a name="GtkFileChooser.properties"></a><h2>Properties</h2>
<div class="informaltable"><table class="informaltable" border="0">
<colgroup>
<col width="150px" class="properties_type">
<col width="300px" class="properties_name">
<col width="200px" class="properties_flags">
</colgroup>
<tbody>
<tr>
<td class="property_type"><a class="link" href="GtkFileChooser.html#GtkFileChooserAction" title="enum GtkFileChooserAction"><span class="type">GtkFileChooserAction</span></a></td>
<td class="property_name"><a class="link" href="GtkFileChooser.html#GtkFileChooser--action" title="The “action” property">action</a></td>
<td class="property_flags">Read / Write</td>
</tr>
<tr>
<td class="property_type"><span class="type">gboolean</span></td>
<td class="property_name"><a class="link" href="GtkFileChooser.html#GtkFileChooser--create-folders" title="The “create-folders” property">create-folders</a></td>
<td class="property_flags">Read / Write</td>
</tr>
<tr>
<td class="property_type"><span class="type">gboolean</span></td>
<td class="property_name"><a class="link" href="GtkFileChooser.html#GtkFileChooser--do-overwrite-confirmation" title="The “do-overwrite-confirmation” property">do-overwrite-confirmation</a></td>
<td class="property_flags">Read / Write</td>
</tr>
<tr>
<td class="property_type">
<a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *</td>
<td class="property_name"><a class="link" href="GtkFileChooser.html#GtkFileChooser--extra-widget" title="The “extra-widget” property">extra-widget</a></td>
<td class="property_flags">Read / Write</td>
</tr>
<tr>
<td class="property_type">
<a class="link" href="GtkFileFilter.html" title="GtkFileFilter"><span class="type">GtkFileFilter</span></a> *</td>
<td class="property_name"><a class="link" href="GtkFileChooser.html#GtkFileChooser--filter" title="The “filter” property">filter</a></td>
<td class="property_flags">Read / Write</td>
</tr>
<tr>
<td class="property_type"><span class="type">gboolean</span></td>
<td class="property_name"><a class="link" href="GtkFileChooser.html#GtkFileChooser--local-only" title="The “local-only” property">local-only</a></td>
<td class="property_flags">Read / Write</td>
</tr>
<tr>
<td class="property_type">
<a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *</td>
<td class="property_name"><a class="link" href="GtkFileChooser.html#GtkFileChooser--preview-widget" title="The “preview-widget” property">preview-widget</a></td>
<td class="property_flags">Read / Write</td>
</tr>
<tr>
<td class="property_type"><span class="type">gboolean</span></td>
<td class="property_name"><a class="link" href="GtkFileChooser.html#GtkFileChooser--preview-widget-active" title="The “preview-widget-active” property">preview-widget-active</a></td>
<td class="property_flags">Read / Write</td>
</tr>
<tr>
<td class="property_type"><span class="type">gboolean</span></td>
<td class="property_name"><a class="link" href="GtkFileChooser.html#GtkFileChooser--select-multiple" title="The “select-multiple” property">select-multiple</a></td>
<td class="property_flags">Read / Write</td>
</tr>
<tr>
<td class="property_type"><span class="type">gboolean</span></td>
<td class="property_name"><a class="link" href="GtkFileChooser.html#GtkFileChooser--show-hidden" title="The “show-hidden” property">show-hidden</a></td>
<td class="property_flags">Read / Write</td>
</tr>
<tr>
<td class="property_type"><span class="type">gboolean</span></td>
<td class="property_name"><a class="link" href="GtkFileChooser.html#GtkFileChooser--use-preview-label" title="The “use-preview-label” property">use-preview-label</a></td>
<td class="property_flags">Read / Write</td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect1">
<a name="GtkFileChooser.signals"></a><h2>Signals</h2>
<div class="informaltable"><table class="informaltable" border="0">
<colgroup>
<col width="150px" class="signal_proto_type">
<col width="300px" class="signal_proto_name">
<col width="200px" class="signal_proto_flags">
</colgroup>
<tbody>
<tr>
<td class="signal_type"><a class="link" href="GtkFileChooser.html#GtkFileChooserConfirmation" title="enum GtkFileChooserConfirmation"><span class="returnvalue">GtkFileChooserConfirmation</span></a></td>
<td class="signal_name"><a class="link" href="GtkFileChooser.html#GtkFileChooser-confirm-overwrite" title="The “confirm-overwrite” signal">confirm-overwrite</a></td>
<td class="signal_flags">Run Last</td>
</tr>
<tr>
<td class="signal_type"><span class="returnvalue">void</span></td>
<td class="signal_name"><a class="link" href="GtkFileChooser.html#GtkFileChooser-current-folder-changed" title="The “current-folder-changed” signal">current-folder-changed</a></td>
<td class="signal_flags">Run Last</td>
</tr>
<tr>
<td class="signal_type"><span class="returnvalue">void</span></td>
<td class="signal_name"><a class="link" href="GtkFileChooser.html#GtkFileChooser-file-activated" title="The “file-activated” signal">file-activated</a></td>
<td class="signal_flags">Run Last</td>
</tr>
<tr>
<td class="signal_type"><span class="returnvalue">void</span></td>
<td class="signal_name"><a class="link" href="GtkFileChooser.html#GtkFileChooser-selection-changed" title="The “selection-changed” signal">selection-changed</a></td>
<td class="signal_flags">Run Last</td>
</tr>
<tr>
<td class="signal_type"><span class="returnvalue">void</span></td>
<td class="signal_name"><a class="link" href="GtkFileChooser.html#GtkFileChooser-update-preview" title="The “update-preview” signal">update-preview</a></td>
<td class="signal_flags">Run Last</td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect1">
<a name="GtkFileChooser.other"></a><h2>Types and Values</h2>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="other_proto_type">
<col class="other_proto_name">
</colgroup>
<tbody>
<tr>
<td class="datatype_keyword"> </td>
<td class="function_name"><a class="link" href="GtkFileChooser.html#GtkFileChooser-struct" title="GtkFileChooser">GtkFileChooser</a></td>
</tr>
<tr>
<td class="datatype_keyword">enum</td>
<td class="function_name"><a class="link" href="GtkFileChooser.html#GtkFileChooserAction" title="enum GtkFileChooserAction">GtkFileChooserAction</a></td>
</tr>
<tr>
<td class="datatype_keyword">enum</td>
<td class="function_name"><a class="link" href="GtkFileChooser.html#GtkFileChooserConfirmation" title="enum GtkFileChooserConfirmation">GtkFileChooserConfirmation</a></td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name"><a class="link" href="GtkFileChooser.html#GTK-FILE-CHOOSER-ERROR:CAPS" title="GTK_FILE_CHOOSER_ERROR">GTK_FILE_CHOOSER_ERROR</a></td>
</tr>
<tr>
<td class="datatype_keyword">enum</td>
<td class="function_name"><a class="link" href="GtkFileChooser.html#GtkFileChooserError" title="enum GtkFileChooserError">GtkFileChooserError</a></td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect1">
<a name="GtkFileChooser.object-hierarchy"></a><h2>Object Hierarchy</h2>
<pre class="screen">    <a href="/usr/share/gtk-doc/html/gobject/GTypeModule.html">GInterface</a>
    <span class="lineart">╰──</span> GtkFileChooser
</pre>
</div>
<div class="refsect1">
<a name="GtkFileChooser.prerequisites"></a><h2>Prerequisites</h2>
<p>
GtkFileChooser requires
 GObject.</p>
</div>
<div class="refsect1">
<a name="GtkFileChooser.implementations"></a><h2>Known Implementations</h2>
<p>
GtkFileChooser is implemented by
 <a class="link" href="GtkFileChooserButton.html" title="GtkFileChooserButton">GtkFileChooserButton</a>,  <a class="link" href="GtkFileChooserDialog.html" title="GtkFileChooserDialog">GtkFileChooserDialog</a> and  <a class="link" href="GtkFileChooserWidget.html" title="GtkFileChooserWidget">GtkFileChooserWidget</a>.</p>
</div>
<div class="refsect1">
<a name="GtkFileChooser.includes"></a><h2>Includes</h2>
<pre class="synopsis">#include &lt;gtk/gtk.h&gt;
</pre>
</div>
<div class="refsect1">
<a name="GtkFileChooser.description"></a><h2>Description</h2>
<p><a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> is an interface that can be implemented by file
selection widgets.  In GTK+, the main objects that implement this
interface are <a class="link" href="GtkFileChooserWidget.html" title="GtkFileChooserWidget"><span class="type">GtkFileChooserWidget</span></a>, <a class="link" href="GtkFileChooserDialog.html" title="GtkFileChooserDialog"><span class="type">GtkFileChooserDialog</span></a>, and
<a class="link" href="GtkFileChooserButton.html" title="GtkFileChooserButton"><span class="type">GtkFileChooserButton</span></a>.  You do not need to write an object that
implements the <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> interface unless you are trying to
adapt an existing file selector to expose a standard programming
interface.</p>
<p><a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> allows for shortcuts to various places in the filesystem.
In the default implementation these are displayed in the left pane. It
may be a bit confusing at first that these shortcuts come from various
sources and in various flavours, so lets explain the terminology here:</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem"><p>Bookmarks: are created by the user, by dragging folders from the
right pane to the left pane, or by using the “Add”. Bookmarks
can be renamed and deleted by the user.</p></li>
<li class="listitem"><p>Shortcuts: can be provided by the application. For example, a Paint
program may want to add a shortcut for a Clipart folder. Shortcuts
cannot be modified by the user.</p></li>
<li class="listitem"><p>Volumes: are provided by the underlying filesystem abstraction. They are
the “roots” of the filesystem.</p></li>
</ul></div>
<div class="refsect2">
<a name="id-1.3.14.6.11.5"></a><h3>File Names and Encodings</h3>
<p>When the user is finished selecting files in a
<a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a>, your program can get the selected names
either as filenames or as URIs.  For URIs, the normal escaping
rules are applied if the URI contains non-ASCII characters.
However, filenames are always returned in
the character set specified by the
<code class="literal">G_FILENAME_ENCODING</code> environment variable.
Please see the GLib documentation for more details about this
variable.</p>
<p>This means that while you can pass the result of
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-get-filename" title="gtk_file_chooser_get_filename ()"><code class="function">gtk_file_chooser_get_filename()</code></a> to <code class="function">g_open()</code> or <code class="function">g_fopen()</code>,
you may not be able to directly set it as the text of a
<a class="link" href="GtkLabel.html" title="GtkLabel"><span class="type">GtkLabel</span></a> widget unless you convert it first to UTF-8,
which all GTK+ widgets expect. You should use <code class="function">g_filename_to_utf8()</code>
to convert filenames into strings that can be passed to GTK+
widgets.</p>
</div>
<hr>
<div class="refsect2">
<a name="id-1.3.14.6.11.6"></a><h3>Adding a Preview Widget</h3>
<p>You can add a custom preview widget to a file chooser and then
get notification about when the preview needs to be updated.
To install a preview widget, use
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-set-preview-widget" title="gtk_file_chooser_set_preview_widget ()"><code class="function">gtk_file_chooser_set_preview_widget()</code></a>.  Then, connect to the
<a class="link" href="GtkFileChooser.html#GtkFileChooser-update-preview" title="The “update-preview” signal"><span class="type">“update-preview”</span></a> signal to get notified when
you need to update the contents of the preview.</p>
<p>Your callback should use
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-get-preview-filename" title="gtk_file_chooser_get_preview_filename ()"><code class="function">gtk_file_chooser_get_preview_filename()</code></a> to see what needs
previewing.  Once you have generated the preview for the
corresponding file, you must call
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-set-preview-widget-active" title="gtk_file_chooser_set_preview_widget_active ()"><code class="function">gtk_file_chooser_set_preview_widget_active()</code></a> with a boolean
flag that indicates whether your callback could successfully
generate a preview.</p>
<div class="refsect3">
<a name="gtkfilechooser-preview"></a><h4>Example: Using a Preview Widget</h4>
<div class="informalexample">
  <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
    <tbody>
      <tr>
        <td class="listing_lines" align="right"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33</pre></td>
        <td class="listing_code"><pre class="programlisting"><span class="p">{</span>
  <span class="n">GtkImage</span> <span class="o">*</span><span class="n">preview</span><span class="p">;</span>

  <span class="p">...</span>

  <span class="n">preview</span> <span class="o">=</span> <span class="n">gtk_image_new</span> <span class="p">();</span>

  <span class="n">gtk_file_chooser_set_preview_widget</span> <span class="p">(</span><span class="n">my_file_chooser</span><span class="p">,</span> <span class="n">preview</span><span class="p">);</span>
  <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">my_file_chooser</span><span class="p">,</span> <span class="s">&quot;update-preview&quot;</span><span class="p">,</span>
		    <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">update_preview_cb</span><span class="p">),</span> <span class="n">preview</span><span class="p">);</span>
<span class="p">}</span>

<span class="k">static</span> <span class="kt">void</span>
<span class="n">update_preview_cb</span> <span class="p">(</span><span class="n">GtkFileChooser</span> <span class="o">*</span><span class="n">file_chooser</span><span class="p">,</span> <span class="n">gpointer</span> <span class="n">data</span><span class="p">)</span>
<span class="p">{</span>
  <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">preview</span><span class="p">;</span>
  <span class="kt">char</span> <span class="o">*</span><span class="n">filename</span><span class="p">;</span>
  <span class="n">GdkPixbuf</span> <span class="o">*</span><span class="n">pixbuf</span><span class="p">;</span>
  <span class="n">gboolean</span> <span class="n">have_preview</span><span class="p">;</span>

  <span class="n">preview</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">data</span><span class="p">);</span>
  <span class="n">filename</span> <span class="o">=</span> <span class="n">gtk_file_chooser_get_preview_filename</span> <span class="p">(</span><span class="n">file_chooser</span><span class="p">);</span>

  <span class="n">pixbuf</span> <span class="o">=</span> <span class="n">gdk_pixbuf_new_from_file_at_size</span> <span class="p">(</span><span class="n">filename</span><span class="p">,</span> <span class="mi">128</span><span class="p">,</span> <span class="mi">128</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
  <span class="n">have_preview</span> <span class="o">=</span> <span class="p">(</span><span class="n">pixbuf</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
  <span class="n">g_free</span> <span class="p">(</span><span class="n">filename</span><span class="p">);</span>

  <span class="n">gtk_image_set_from_pixbuf</span> <span class="p">(</span><span class="n">GTK_IMAGE</span> <span class="p">(</span><span class="n">preview</span><span class="p">),</span> <span class="n">pixbuf</span><span class="p">);</span>
  <span class="k">if</span> <span class="p">(</span><span class="n">pixbuf</span><span class="p">)</span>
    <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">pixbuf</span><span class="p">);</span>

  <span class="n">gtk_file_chooser_set_preview_widget_active</span> <span class="p">(</span><span class="n">file_chooser</span><span class="p">,</span> <span class="n">have_preview</span><span class="p">);</span>
<span class="p">}</span></pre></td>
      </tr>
    </tbody>
  </table>
</div>

<p></p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="id-1.3.14.6.11.7"></a><h3>Adding Extra Widgets</h3>
<p>You can add extra widgets to a file chooser to provide options
that are not present in the default design.  For example, you
can add a toggle button to give the user the option to open a
file in read-only mode.  You can use
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-set-extra-widget" title="gtk_file_chooser_set_extra_widget ()"><code class="function">gtk_file_chooser_set_extra_widget()</code></a> to insert additional
widgets in a file chooser.</p>
<p>An example for adding extra widgets:</p>
<div class="informalexample">
  <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
    <tbody>
      <tr>
        <td class="listing_lines" align="right"><pre>1
2
3
4
5
6
7
8</pre></td>
        <td class="listing_code"><pre class="programlisting"><span class="n">GtkWidget</span> <span class="o">*</span><span class="n">toggle</span><span class="p">;</span>

<span class="p">...</span>

<span class="n">toggle</span> <span class="o">=</span> <span class="n">gtk_check_button_new_with_label</span> <span class="p">(</span><span class="s">&quot;Open file read-only&quot;</span><span class="p">);</span>
<span class="n">gtk_widget_show</span> <span class="p">(</span><span class="n">toggle</span><span class="p">);</span>
<span class="n">gtk_file_chooser_set_extra_widget</span> <span class="p">(</span><span class="n">my_file_chooser</span><span class="p">,</span> <span class="n">toggle</span><span class="p">);</span>
<span class="p">}</span></pre></td>
      </tr>
    </tbody>
  </table>
</div>

<p></p>
<p>If you want to set more than one extra widget in the file
chooser, you can a container such as a <a class="link" href="GtkBox.html" title="GtkBox"><span class="type">GtkBox</span></a> or a <a class="link" href="GtkGrid.html" title="GtkGrid"><span class="type">GtkGrid</span></a>
and include your widgets in it.  Then, set the container as
the whole extra widget.</p>
</div>
</div>
<div class="refsect1">
<a name="GtkFileChooser.functions_details"></a><h2>Functions</h2>
<div class="refsect2">
<a name="gtk-file-chooser-set-action"></a><h3>gtk_file_chooser_set_action ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gtk_file_chooser_set_action (<em class="parameter"><code><a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>,
                             <em class="parameter"><code><a class="link" href="GtkFileChooser.html#GtkFileChooserAction" title="enum GtkFileChooserAction"><span class="type">GtkFileChooserAction</span></a> action</code></em>);</pre>
<p>Sets the type of operation that the chooser is performing; the
user interface is adapted to suit the selected action. For example,
an option to create a new folder might be shown if the action is
<a class="link" href="GtkFileChooser.html#GTK-FILE-CHOOSER-ACTION-SAVE:CAPS"><code class="literal">GTK_FILE_CHOOSER_ACTION_SAVE</code></a> but not if the action is
<a class="link" href="GtkFileChooser.html#GTK-FILE-CHOOSER-ACTION-OPEN:CAPS"><code class="literal">GTK_FILE_CHOOSER_ACTION_OPEN</code></a>.</p>
<div class="refsect3">
<a name="gtk-file-chooser-set-action.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>action</p></td>
<td class="parameter_description"><p>the action that the file selector is performing</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: 2.4</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-get-action"></a><h3>gtk_file_chooser_get_action ()</h3>
<pre class="programlisting"><a class="link" href="GtkFileChooser.html#GtkFileChooserAction" title="enum GtkFileChooserAction"><span class="returnvalue">GtkFileChooserAction</span></a>
gtk_file_chooser_get_action (<em class="parameter"><code><a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>);</pre>
<p>Gets the type of operation that the file chooser is performing; see
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-set-action" title="gtk_file_chooser_set_action ()"><code class="function">gtk_file_chooser_set_action()</code></a>.</p>
<div class="refsect3">
<a name="gtk-file-chooser-get-action.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-file-chooser-get-action.returns"></a><h4>Returns</h4>
<p> the action that the file selector is performing</p>
</div>
<p class="since">Since: 2.4</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-set-local-only"></a><h3>gtk_file_chooser_set_local_only ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gtk_file_chooser_set_local_only (<em class="parameter"><code><a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>,
                                 <em class="parameter"><code><span class="type">gboolean</span> local_only</code></em>);</pre>
<p>Sets whether only local files can be selected in the
file selector. If <em class="parameter"><code>local_only</code></em>
 is <code class="literal">TRUE</code> (the default),
then the selected file or files are guaranteed to be
accessible through the operating systems native file
system and therefore the application only
needs to worry about the filename functions in
<a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a>, like <a class="link" href="GtkFileChooser.html#gtk-file-chooser-get-filename" title="gtk_file_chooser_get_filename ()"><code class="function">gtk_file_chooser_get_filename()</code></a>,
rather than the URI functions like
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-get-uri" title="gtk_file_chooser_get_uri ()"><code class="function">gtk_file_chooser_get_uri()</code></a>,</p>
<p>On some systems non-native files may still be
available using the native filesystem via a userspace
filesystem (FUSE).</p>
<div class="refsect3">
<a name="gtk-file-chooser-set-local-only.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>local_only</p></td>
<td class="parameter_description"><p><code class="literal">TRUE</code> if only local files can be selected</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: 2.4</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-get-local-only"></a><h3>gtk_file_chooser_get_local_only ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
gtk_file_chooser_get_local_only (<em class="parameter"><code><a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>);</pre>
<p>Gets whether only local files can be selected in the
file selector. See <a class="link" href="GtkFileChooser.html#gtk-file-chooser-set-local-only" title="gtk_file_chooser_set_local_only ()"><code class="function">gtk_file_chooser_set_local_only()</code></a></p>
<div class="refsect3">
<a name="gtk-file-chooser-get-local-only.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-file-chooser-get-local-only.returns"></a><h4>Returns</h4>
<p> <code class="literal">TRUE</code> if only local files can be selected.</p>
</div>
<p class="since">Since: 2.4</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-set-select-multiple"></a><h3>gtk_file_chooser_set_select_multiple ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gtk_file_chooser_set_select_multiple (<em class="parameter"><code><a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>,
                                      <em class="parameter"><code><span class="type">gboolean</span> select_multiple</code></em>);</pre>
<p>Sets whether multiple files can be selected in the file selector.  This is
only relevant if the action is set to be <a class="link" href="GtkFileChooser.html#GTK-FILE-CHOOSER-ACTION-OPEN:CAPS"><code class="literal">GTK_FILE_CHOOSER_ACTION_OPEN</code></a> or
<a class="link" href="GtkFileChooser.html#GTK-FILE-CHOOSER-ACTION-SELECT-FOLDER:CAPS"><code class="literal">GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER</code></a>.</p>
<div class="refsect3">
<a name="gtk-file-chooser-set-select-multiple.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>select_multiple</p></td>
<td class="parameter_description"><p><code class="literal">TRUE</code> if multiple files can be selected.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: 2.4</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-get-select-multiple"></a><h3>gtk_file_chooser_get_select_multiple ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
gtk_file_chooser_get_select_multiple (<em class="parameter"><code><a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>);</pre>
<p>Gets whether multiple files can be selected in the file
selector. See <a class="link" href="GtkFileChooser.html#gtk-file-chooser-set-select-multiple" title="gtk_file_chooser_set_select_multiple ()"><code class="function">gtk_file_chooser_set_select_multiple()</code></a>.</p>
<div class="refsect3">
<a name="gtk-file-chooser-get-select-multiple.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-file-chooser-get-select-multiple.returns"></a><h4>Returns</h4>
<p> <code class="literal">TRUE</code> if multiple files can be selected.</p>
</div>
<p class="since">Since: 2.4</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-set-show-hidden"></a><h3>gtk_file_chooser_set_show_hidden ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gtk_file_chooser_set_show_hidden (<em class="parameter"><code><a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>,
                                  <em class="parameter"><code><span class="type">gboolean</span> show_hidden</code></em>);</pre>
<p>Sets whether hidden files and folders are displayed in the file selector.</p>
<div class="refsect3">
<a name="gtk-file-chooser-set-show-hidden.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>show_hidden</p></td>
<td class="parameter_description"><p><code class="literal">TRUE</code> if hidden files and folders should be displayed.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: 2.6</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-get-show-hidden"></a><h3>gtk_file_chooser_get_show_hidden ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
gtk_file_chooser_get_show_hidden (<em class="parameter"><code><a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>);</pre>
<p>Gets whether hidden files and folders are displayed in the file selector.   
See <a class="link" href="GtkFileChooser.html#gtk-file-chooser-set-show-hidden" title="gtk_file_chooser_set_show_hidden ()"><code class="function">gtk_file_chooser_set_show_hidden()</code></a>.</p>
<div class="refsect3">
<a name="gtk-file-chooser-get-show-hidden.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-file-chooser-get-show-hidden.returns"></a><h4>Returns</h4>
<p> <code class="literal">TRUE</code> if hidden files and folders are displayed.</p>
</div>
<p class="since">Since: 2.6</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-set-do-overwrite-confirmation"></a><h3>gtk_file_chooser_set_do_overwrite_confirmation ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gtk_file_chooser_set_do_overwrite_confirmation
                               (<em class="parameter"><code><a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>,
                                <em class="parameter"><code><span class="type">gboolean</span> do_overwrite_confirmation</code></em>);</pre>
<p>Sets whether a file chooser in <a class="link" href="GtkFileChooser.html#GTK-FILE-CHOOSER-ACTION-SAVE:CAPS"><code class="literal">GTK_FILE_CHOOSER_ACTION_SAVE</code></a> mode will present
a confirmation dialog if the user types a file name that already exists.  This
is <code class="literal">FALSE</code> by default.</p>
<p>If set to <code class="literal">TRUE</code>, the <em class="parameter"><code>chooser</code></em>
 will emit the
<a class="link" href="GtkFileChooser.html#GtkFileChooser-confirm-overwrite" title="The “confirm-overwrite” signal"><span class="type">“confirm-overwrite”</span></a> signal when appropriate.</p>
<p>If all you need is the stock confirmation dialog, set this property to <code class="literal">TRUE</code>.
You can override the way confirmation is done by actually handling the
<a class="link" href="GtkFileChooser.html#GtkFileChooser-confirm-overwrite" title="The “confirm-overwrite” signal"><span class="type">“confirm-overwrite”</span></a> signal; please refer to its documentation
for the details.</p>
<div class="refsect3">
<a name="gtk-file-chooser-set-do-overwrite-confirmation.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>do_overwrite_confirmation</p></td>
<td class="parameter_description"><p>whether to confirm overwriting in save mode</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: 2.8</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-get-do-overwrite-confirmation"></a><h3>gtk_file_chooser_get_do_overwrite_confirmation ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
gtk_file_chooser_get_do_overwrite_confirmation
                               (<em class="parameter"><code><a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>);</pre>
<p>Queries whether a file chooser is set to confirm for overwriting when the user
types a file name that already exists.</p>
<div class="refsect3">
<a name="gtk-file-chooser-get-do-overwrite-confirmation.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-file-chooser-get-do-overwrite-confirmation.returns"></a><h4>Returns</h4>
<p> <code class="literal">TRUE</code> if the file chooser will present a confirmation dialog;
<code class="literal">FALSE</code> otherwise.</p>
</div>
<p class="since">Since: 2.8</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-set-create-folders"></a><h3>gtk_file_chooser_set_create_folders ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gtk_file_chooser_set_create_folders (<em class="parameter"><code><a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>,
                                     <em class="parameter"><code><span class="type">gboolean</span> create_folders</code></em>);</pre>
<p>Sets whether file choser will offer to create new folders.
This is only relevant if the action is not set to be 
<a class="link" href="GtkFileChooser.html#GTK-FILE-CHOOSER-ACTION-OPEN:CAPS"><code class="literal">GTK_FILE_CHOOSER_ACTION_OPEN</code></a>.</p>
<div class="refsect3">
<a name="gtk-file-chooser-set-create-folders.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>create_folders</p></td>
<td class="parameter_description"><p><code class="literal">TRUE</code> if the Create Folder button should be displayed</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: 2.18</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-get-create-folders"></a><h3>gtk_file_chooser_get_create_folders ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
gtk_file_chooser_get_create_folders (<em class="parameter"><code><a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>);</pre>
<p>Gets whether file choser will offer to create new folders.
See <a class="link" href="GtkFileChooser.html#gtk-file-chooser-set-create-folders" title="gtk_file_chooser_set_create_folders ()"><code class="function">gtk_file_chooser_set_create_folders()</code></a>.</p>
<div class="refsect3">
<a name="gtk-file-chooser-get-create-folders.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-file-chooser-get-create-folders.returns"></a><h4>Returns</h4>
<p> <code class="literal">TRUE</code> if the Create Folder button should be displayed.</p>
</div>
<p class="since">Since: 2.18</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-set-current-name"></a><h3>gtk_file_chooser_set_current_name ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gtk_file_chooser_set_current_name (<em class="parameter"><code><a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>,
                                   <em class="parameter"><code>const <span class="type">gchar</span> *name</code></em>);</pre>
<p>Sets the current name in the file selector, as if entered
by the user. Note that the name passed in here is a UTF-8
string rather than a filename. This function is meant for
such uses as a suggested name in a “Save As...” dialog.  You can
pass “Untitled.doc” or a similarly suitable suggestion for the <em class="parameter"><code>name</code></em>
.</p>
<p>If you want to preselect a particular existing file, you should use
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-set-filename" title="gtk_file_chooser_set_filename ()"><code class="function">gtk_file_chooser_set_filename()</code></a> or <a class="link" href="GtkFileChooser.html#gtk-file-chooser-set-uri" title="gtk_file_chooser_set_uri ()"><code class="function">gtk_file_chooser_set_uri()</code></a> instead.
Please see the documentation for those functions for an example of using
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-set-current-name" title="gtk_file_chooser_set_current_name ()"><code class="function">gtk_file_chooser_set_current_name()</code></a> as well.</p>
<div class="refsect3">
<a name="gtk-file-chooser-set-current-name.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>name</p></td>
<td class="parameter_description"><p>the filename to use, as a UTF-8 string. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> utf8]</span></td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: 2.4</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-get-current-name"></a><h3>gtk_file_chooser_get_current_name ()</h3>
<pre class="programlisting"><span class="returnvalue">gchar</span> *
gtk_file_chooser_get_current_name (<em class="parameter"><code><a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>);</pre>
<p>Gets the current name in the file selector, as entered by the user in the
text entry for “Name”.</p>
<p>This is meant to be used in save dialogs, to get the currently typed filename
when the file itself does not exist yet.  For example, an application that
adds a custom extra widget to the file chooser for “file format” may want to
change the extension of the typed filename based on the chosen format, say,
from “.jpg” to “.png”.</p>
<div class="refsect3">
<a name="gtk-file-chooser-get-current-name.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-file-chooser-get-current-name.returns"></a><h4>Returns</h4>
<p> The raw text from the file chooser’s “Name” entry.  Free this with
<code class="function">g_free()</code>.  Note that this string is not a full pathname or URI; it is
whatever the contents of the entry are.  Note also that this string is in
UTF-8 encoding, which is not necessarily the system’s encoding for filenames.</p>
</div>
<p class="since">Since: <a class="link" href="api-index-3-10.html#api-index-3.10">3.10</a></p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-get-filename"></a><h3>gtk_file_chooser_get_filename ()</h3>
<pre class="programlisting"><span class="returnvalue">gchar</span> *
gtk_file_chooser_get_filename (<em class="parameter"><code><a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>);</pre>
<p>Gets the filename for the currently selected file in
the file selector. The filename is returned as an absolute path. If
multiple files are selected, one of the filenames will be returned at
random.</p>
<p>If the file chooser is in folder mode, this function returns the selected
folder.</p>
<div class="refsect3">
<a name="gtk-file-chooser-get-filename.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-file-chooser-get-filename.returns"></a><h4>Returns</h4>
<p>The currently selected filename,
or <code class="literal">NULL</code> if no file is selected, or the selected file can't
be represented with a local filename. Free with <code class="function">g_free()</code>. </p>
<p><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>][<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> filename]</span></p>
</div>
<p class="since">Since: 2.4</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-set-filename"></a><h3>gtk_file_chooser_set_filename ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
gtk_file_chooser_set_filename (<em class="parameter"><code><a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>,
                               <em class="parameter"><code>const <span class="type">char</span> *filename</code></em>);</pre>
<p>Sets <em class="parameter"><code>filename</code></em>
 as the current filename for the file chooser, by changing to
the file’s parent folder and actually selecting the file in list; all other
files will be unselected.  If the <em class="parameter"><code>chooser</code></em>
 is in
<a class="link" href="GtkFileChooser.html#GTK-FILE-CHOOSER-ACTION-SAVE:CAPS"><code class="literal">GTK_FILE_CHOOSER_ACTION_SAVE</code></a> mode, the file’s base name will also appear in
the dialog’s file name entry.</p>
<p>Note that the file must exist, or nothing will be done except
for the directory change.</p>
<p>You should use this function only when implementing a save
dialog for which you already have a file name to which
the user may save.  For example, when the user opens an existing file and
then does Save As... to save a copy or
a modified version.  If you don’t have a file name already — for
example, if the user just created a new file and is saving it for the first
time, do not call this function.  Instead, use something similar to this:</p>
<div class="informalexample">
  <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
    <tbody>
      <tr>
        <td class="listing_lines" align="right"><pre>1
2
3
4
5
6
7
8
9
10</pre></td>
        <td class="listing_code"><pre class="programlisting"><span class="k">if</span> <span class="p">(</span><span class="n">document_is_new</span><span class="p">)</span>
  <span class="p">{</span>
    <span class="c1">// the user just created a new document</span>
    <span class="n">gtk_file_chooser_set_current_name</span> <span class="p">(</span><span class="n">chooser</span><span class="p">,</span> <span class="s">&quot;Untitled document&quot;</span><span class="p">);</span>
  <span class="p">}</span>
<span class="k">else</span>
  <span class="p">{</span>
    <span class="c1">// the user edited an existing document</span>
    <span class="n">gtk_file_chooser_set_filename</span> <span class="p">(</span><span class="n">chooser</span><span class="p">,</span> <span class="n">existing_filename</span><span class="p">);</span>
  <span class="p">}</span></pre></td>
      </tr>
    </tbody>
  </table>
</div>

<p></p>
<p>In the first case, the file chooser will present the user with useful suggestions
as to where to save his new file.  In the second case, the file’s existing location
is already known, so the file chooser will use it.</p>
<div class="refsect3">
<a name="gtk-file-chooser-set-filename.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>filename</p></td>
<td class="parameter_description"><p>the filename to set as current. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> filename]</span></td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-file-chooser-set-filename.returns"></a><h4>Returns</h4>
<p> Not useful.</p>
</div>
<p class="since">Since: 2.4</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-select-filename"></a><h3>gtk_file_chooser_select_filename ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
gtk_file_chooser_select_filename (<em class="parameter"><code><a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>,
                                  <em class="parameter"><code>const <span class="type">char</span> *filename</code></em>);</pre>
<p>Selects a filename. If the file name isn’t in the current
folder of <em class="parameter"><code>chooser</code></em>
, then the current folder of <em class="parameter"><code>chooser</code></em>
 will
be changed to the folder containing <em class="parameter"><code>filename</code></em>
.</p>
<div class="refsect3">
<a name="gtk-file-chooser-select-filename.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>filename</p></td>
<td class="parameter_description"><p>the filename to select. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> filename]</span></td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-file-chooser-select-filename.returns"></a><h4>Returns</h4>
<p> Not useful.</p>
<p>See also: <a class="link" href="GtkFileChooser.html#gtk-file-chooser-set-filename" title="gtk_file_chooser_set_filename ()"><code class="function">gtk_file_chooser_set_filename()</code></a></p>
</div>
<p class="since">Since: 2.4</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-unselect-filename"></a><h3>gtk_file_chooser_unselect_filename ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gtk_file_chooser_unselect_filename (<em class="parameter"><code><a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>,
                                    <em class="parameter"><code>const <span class="type">char</span> *filename</code></em>);</pre>
<p>Unselects a currently selected filename. If the filename
is not in the current directory, does not exist, or
is otherwise not currently selected, does nothing.</p>
<div class="refsect3">
<a name="gtk-file-chooser-unselect-filename.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>filename</p></td>
<td class="parameter_description"><p>the filename to unselect. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> filename]</span></td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: 2.4</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-select-all"></a><h3>gtk_file_chooser_select_all ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gtk_file_chooser_select_all (<em class="parameter"><code><a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>);</pre>
<p>Selects all the files in the current folder of a file chooser.</p>
<div class="refsect3">
<a name="gtk-file-chooser-select-all.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<p class="since">Since: 2.4</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-unselect-all"></a><h3>gtk_file_chooser_unselect_all ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gtk_file_chooser_unselect_all (<em class="parameter"><code><a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>);</pre>
<p>Unselects all the files in the current folder of a file chooser.</p>
<div class="refsect3">
<a name="gtk-file-chooser-unselect-all.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<p class="since">Since: 2.4</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-get-filenames"></a><h3>gtk_file_chooser_get_filenames ()</h3>
<pre class="programlisting"><span class="returnvalue">GSList</span> *
gtk_file_chooser_get_filenames (<em class="parameter"><code><a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>);</pre>
<p>Lists all the selected files and subfolders in the current folder of
<em class="parameter"><code>chooser</code></em>
. The returned names are full absolute paths. If files in the current
folder cannot be represented as local filenames they will be ignored. (See
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-get-uris" title="gtk_file_chooser_get_uris ()"><code class="function">gtk_file_chooser_get_uris()</code></a>)</p>
<div class="refsect3">
<a name="gtk-file-chooser-get-filenames.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-file-chooser-get-filenames.returns"></a><h4>Returns</h4>
<p>a <span class="type">GSList</span>
containing the filenames of all selected files and subfolders in
the current folder. Free the returned list with <code class="function">g_slist_free()</code>,
and the filenames with <code class="function">g_free()</code>. </p>
<p><span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> filename][<acronym title="The caller owns the data, and is responsible for free it."><span class="acronym">transfer full</span></acronym>]</span></p>
</div>
<p class="since">Since: 2.4</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-set-current-folder"></a><h3>gtk_file_chooser_set_current_folder ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
gtk_file_chooser_set_current_folder (<em class="parameter"><code><a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>,
                                     <em class="parameter"><code>const <span class="type">gchar</span> *filename</code></em>);</pre>
<p>Sets the current folder for <em class="parameter"><code>chooser</code></em>
 from a local filename.
The user will be shown the full contents of the current folder,
plus user interface elements for navigating to other folders.</p>
<p>In general, you should not use this function.  See the
<a class="link" href="GtkFileChooserDialog.html#gtkfilechooserdialog-setting-up" title="Setting up a file chooser dialog">section on setting up a file chooser dialog</a>
for the rationale behind this.</p>
<div class="refsect3">
<a name="gtk-file-chooser-set-current-folder.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>filename</p></td>
<td class="parameter_description"><p>the full path of the new current folder. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> filename]</span></td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-file-chooser-set-current-folder.returns"></a><h4>Returns</h4>
<p> Not useful.</p>
</div>
<p class="since">Since: 2.4</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-get-current-folder"></a><h3>gtk_file_chooser_get_current_folder ()</h3>
<pre class="programlisting"><span class="returnvalue">gchar</span> *
gtk_file_chooser_get_current_folder (<em class="parameter"><code><a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>);</pre>
<p>Gets the current folder of <em class="parameter"><code>chooser</code></em>
 as a local filename.
See <a class="link" href="GtkFileChooser.html#gtk-file-chooser-set-current-folder" title="gtk_file_chooser_set_current_folder ()"><code class="function">gtk_file_chooser_set_current_folder()</code></a>.</p>
<p>Note that this is the folder that the file chooser is currently displaying
(e.g. "/home/username/Documents"), which is not the same
as the currently-selected folder if the chooser is in
<a class="link" href="GtkFileChooser.html#GTK-FILE-CHOOSER-ACTION-SELECT-FOLDER:CAPS"><code class="literal">GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER</code></a> mode
(e.g. "/home/username/Documents/selected-folder/".  To get the
currently-selected folder in that mode, use <a class="link" href="GtkFileChooser.html#gtk-file-chooser-get-uri" title="gtk_file_chooser_get_uri ()"><code class="function">gtk_file_chooser_get_uri()</code></a> as the
usual way to get the selection.</p>
<div class="refsect3">
<a name="gtk-file-chooser-get-current-folder.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-file-chooser-get-current-folder.returns"></a><h4>Returns</h4>
<p>the full path of the current
folder, or <code class="literal">NULL</code> if the current path cannot be represented as a local
filename.  Free with <code class="function">g_free()</code>.  This function will also return
<code class="literal">NULL</code> if the file chooser was unable to load the last folder that
was requested from it; for example, as would be for calling
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-set-current-folder" title="gtk_file_chooser_set_current_folder ()"><code class="function">gtk_file_chooser_set_current_folder()</code></a> on a nonexistent folder. </p>
<p><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>][<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> filename]</span></p>
</div>
<p class="since">Since: 2.4</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-get-uri"></a><h3>gtk_file_chooser_get_uri ()</h3>
<pre class="programlisting"><span class="returnvalue">gchar</span> *
gtk_file_chooser_get_uri (<em class="parameter"><code><a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>);</pre>
<p>Gets the URI for the currently selected file in
the file selector. If multiple files are selected,
one of the filenames will be returned at random.</p>
<p>If the file chooser is in folder mode, this function returns the selected
folder.</p>
<div class="refsect3">
<a name="gtk-file-chooser-get-uri.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-file-chooser-get-uri.returns"></a><h4>Returns</h4>
<p>The currently selected URI, or <code class="literal">NULL</code>
if no file is selected. If <a class="link" href="GtkFileChooser.html#gtk-file-chooser-set-local-only" title="gtk_file_chooser_set_local_only ()"><code class="function">gtk_file_chooser_set_local_only()</code></a> is set to
<code class="literal">TRUE</code> (the default) a local URI will be returned for any FUSE locations.
Free with <code class="function">g_free()</code>. </p>
<p><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>][<acronym title="The caller owns the data, and is responsible for free it."><span class="acronym">transfer full</span></acronym>]</span></p>
</div>
<p class="since">Since: 2.4</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-set-uri"></a><h3>gtk_file_chooser_set_uri ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
gtk_file_chooser_set_uri (<em class="parameter"><code><a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>,
                          <em class="parameter"><code>const <span class="type">char</span> *uri</code></em>);</pre>
<p>Sets the file referred to by <em class="parameter"><code>uri</code></em>
 as the current file for the file chooser,
by changing to the URI’s parent folder and actually selecting the URI in the
list.  If the <em class="parameter"><code>chooser</code></em>
 is <a class="link" href="GtkFileChooser.html#GTK-FILE-CHOOSER-ACTION-SAVE:CAPS"><code class="literal">GTK_FILE_CHOOSER_ACTION_SAVE</code></a> mode, the URI’s base
name will also appear in the dialog’s file name entry.</p>
<p>Note that the URI must exist, or nothing will be done except for the 
directory change.</p>
<p>You should use this function only when implementing a save
dialog for which you already have a file name to which
the user may save.  For example, when the user opens an existing file and then
does Save As... to save a copy or a
modified version.  If you don’t have a file name already — for example,
if the user just created a new file and is saving it for the first time, do
not call this function.  Instead, use something similar to this:</p>
<div class="informalexample">
  <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
    <tbody>
      <tr>
        <td class="listing_lines" align="right"><pre>1
2
3
4
5
6
7
8
9
10</pre></td>
        <td class="listing_code"><pre class="programlisting"><span class="k">if</span> <span class="p">(</span><span class="n">document_is_new</span><span class="p">)</span>
  <span class="p">{</span>
    <span class="c1">// the user just created a new document</span>
    <span class="n">gtk_file_chooser_set_current_name</span> <span class="p">(</span><span class="n">chooser</span><span class="p">,</span> <span class="s">&quot;Untitled document&quot;</span><span class="p">);</span>
  <span class="p">}</span>
<span class="k">else</span>
  <span class="p">{</span>
    <span class="c1">// the user edited an existing document</span>
    <span class="n">gtk_file_chooser_set_uri</span> <span class="p">(</span><span class="n">chooser</span><span class="p">,</span> <span class="n">existing_uri</span><span class="p">);</span>
  <span class="p">}</span></pre></td>
      </tr>
    </tbody>
  </table>
</div>

<p></p>
<p>In the first case, the file chooser will present the user with useful suggestions
as to where to save his new file.  In the second case, the file’s existing location
is already known, so the file chooser will use it.</p>
<div class="refsect3">
<a name="gtk-file-chooser-set-uri.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>uri</p></td>
<td class="parameter_description"><p>the URI to set as current</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-file-chooser-set-uri.returns"></a><h4>Returns</h4>
<p> Not useful.</p>
</div>
<p class="since">Since: 2.4</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-select-uri"></a><h3>gtk_file_chooser_select_uri ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
gtk_file_chooser_select_uri (<em class="parameter"><code><a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>,
                             <em class="parameter"><code>const <span class="type">char</span> *uri</code></em>);</pre>
<p>Selects the file to by <em class="parameter"><code>uri</code></em>
. If the URI doesn’t refer to a
file in the current folder of <em class="parameter"><code>chooser</code></em>
, then the current folder of
<em class="parameter"><code>chooser</code></em>
 will be changed to the folder containing <em class="parameter"><code>filename</code></em>
.</p>
<div class="refsect3">
<a name="gtk-file-chooser-select-uri.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>uri</p></td>
<td class="parameter_description"><p>the URI to select</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-file-chooser-select-uri.returns"></a><h4>Returns</h4>
<p> Not useful.</p>
</div>
<p class="since">Since: 2.4</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-unselect-uri"></a><h3>gtk_file_chooser_unselect_uri ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gtk_file_chooser_unselect_uri (<em class="parameter"><code><a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>,
                               <em class="parameter"><code>const <span class="type">char</span> *uri</code></em>);</pre>
<p>Unselects the file referred to by <em class="parameter"><code>uri</code></em>
. If the file
is not in the current directory, does not exist, or
is otherwise not currently selected, does nothing.</p>
<div class="refsect3">
<a name="gtk-file-chooser-unselect-uri.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>uri</p></td>
<td class="parameter_description"><p>the URI to unselect</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: 2.4</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-get-uris"></a><h3>gtk_file_chooser_get_uris ()</h3>
<pre class="programlisting"><span class="returnvalue">GSList</span> *
gtk_file_chooser_get_uris (<em class="parameter"><code><a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>);</pre>
<p>Lists all the selected files and subfolders in the current folder of
<em class="parameter"><code>chooser</code></em>
. The returned names are full absolute URIs.</p>
<div class="refsect3">
<a name="gtk-file-chooser-get-uris.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-file-chooser-get-uris.returns"></a><h4>Returns</h4>
<p>a <span class="type">GSList</span> containing the URIs of all selected
files and subfolders in the current folder. Free the returned list
with <code class="function">g_slist_free()</code>, and the filenames with <code class="function">g_free()</code>. </p>
<p><span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> utf8][<acronym title="The caller owns the data, and is responsible for free it."><span class="acronym">transfer full</span></acronym>]</span></p>
</div>
<p class="since">Since: 2.4</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-set-current-folder-uri"></a><h3>gtk_file_chooser_set_current_folder_uri ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
gtk_file_chooser_set_current_folder_uri
                               (<em class="parameter"><code><a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>,
                                <em class="parameter"><code>const <span class="type">gchar</span> *uri</code></em>);</pre>
<p>Sets the current folder for <em class="parameter"><code>chooser</code></em>
 from an URI.
The user will be shown the full contents of the current folder,
plus user interface elements for navigating to other folders.</p>
<p>In general, you should not use this function.  See the
<a class="link" href="GtkFileChooserDialog.html#gtkfilechooserdialog-setting-up" title="Setting up a file chooser dialog">section on setting up a file chooser dialog</a>
for the rationale behind this.</p>
<div class="refsect3">
<a name="gtk-file-chooser-set-current-folder-uri.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>uri</p></td>
<td class="parameter_description"><p>the URI for the new current folder</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-file-chooser-set-current-folder-uri.returns"></a><h4>Returns</h4>
<p> <code class="literal">TRUE</code> if the folder could be changed successfully, <code class="literal">FALSE</code>
otherwise.</p>
</div>
<p class="since">Since: 2.4</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-get-current-folder-uri"></a><h3>gtk_file_chooser_get_current_folder_uri ()</h3>
<pre class="programlisting"><span class="returnvalue">gchar</span> *
gtk_file_chooser_get_current_folder_uri
                               (<em class="parameter"><code><a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>);</pre>
<p>Gets the current folder of <em class="parameter"><code>chooser</code></em>
 as an URI.
See <a class="link" href="GtkFileChooser.html#gtk-file-chooser-set-current-folder-uri" title="gtk_file_chooser_set_current_folder_uri ()"><code class="function">gtk_file_chooser_set_current_folder_uri()</code></a>.</p>
<p>Note that this is the folder that the file chooser is currently displaying
(e.g. "file:///home/username/Documents"), which is not the same
as the currently-selected folder if the chooser is in
<a class="link" href="GtkFileChooser.html#GTK-FILE-CHOOSER-ACTION-SELECT-FOLDER:CAPS"><code class="literal">GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER</code></a> mode
(e.g. "file:///home/username/Documents/selected-folder/".  To get the
currently-selected folder in that mode, use <a class="link" href="GtkFileChooser.html#gtk-file-chooser-get-uri" title="gtk_file_chooser_get_uri ()"><code class="function">gtk_file_chooser_get_uri()</code></a> as the
usual way to get the selection.</p>
<div class="refsect3">
<a name="gtk-file-chooser-get-current-folder-uri.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-file-chooser-get-current-folder-uri.returns"></a><h4>Returns</h4>
<p>the URI for the current folder.
Free with <code class="function">g_free()</code>.  This function will also return <code class="literal">NULL</code> if the file chooser
was unable to load the last folder that was requested from it; for example,
as would be for calling <a class="link" href="GtkFileChooser.html#gtk-file-chooser-set-current-folder-uri" title="gtk_file_chooser_set_current_folder_uri ()"><code class="function">gtk_file_chooser_set_current_folder_uri()</code></a> on a
nonexistent folder. </p>
<p><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>][<acronym title="The caller owns the data, and is responsible for free it."><span class="acronym">transfer full</span></acronym>]</span></p>
</div>
<p class="since">Since: 2.4</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-set-preview-widget"></a><h3>gtk_file_chooser_set_preview_widget ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gtk_file_chooser_set_preview_widget (<em class="parameter"><code><a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>,
                                     <em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *preview_widget</code></em>);</pre>
<p>Sets an application-supplied widget to use to display a custom preview
of the currently selected file. To implement a preview, after setting the
preview widget, you connect to the <a class="link" href="GtkFileChooser.html#GtkFileChooser-update-preview" title="The “update-preview” signal"><span class="type">“update-preview”</span></a>
signal, and call <a class="link" href="GtkFileChooser.html#gtk-file-chooser-get-preview-filename" title="gtk_file_chooser_get_preview_filename ()"><code class="function">gtk_file_chooser_get_preview_filename()</code></a> or
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-get-preview-uri" title="gtk_file_chooser_get_preview_uri ()"><code class="function">gtk_file_chooser_get_preview_uri()</code></a> on each change. If you can
display a preview of the new file, update your widget and
set the preview active using <a class="link" href="GtkFileChooser.html#gtk-file-chooser-set-preview-widget-active" title="gtk_file_chooser_set_preview_widget_active ()"><code class="function">gtk_file_chooser_set_preview_widget_active()</code></a>.
Otherwise, set the preview inactive.</p>
<p>When there is no application-supplied preview widget, or the
application-supplied preview widget is not active, the file chooser
will display no preview at all.</p>
<div class="refsect3">
<a name="gtk-file-chooser-set-preview-widget.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>preview_widget</p></td>
<td class="parameter_description"><p>widget for displaying preview.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: 2.4</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-get-preview-widget"></a><h3>gtk_file_chooser_get_preview_widget ()</h3>
<pre class="programlisting"><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="returnvalue">GtkWidget</span></a> *
gtk_file_chooser_get_preview_widget (<em class="parameter"><code><a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>);</pre>
<p>Gets the current preview widget; see
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-set-preview-widget" title="gtk_file_chooser_set_preview_widget ()"><code class="function">gtk_file_chooser_set_preview_widget()</code></a>.</p>
<div class="refsect3">
<a name="gtk-file-chooser-get-preview-widget.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-file-chooser-get-preview-widget.returns"></a><h4>Returns</h4>
<p>the current preview widget, or <code class="literal">NULL</code>. </p>
<p><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>][<acronym title="The data is owned by the callee, which is responsible of freeing it."><span class="acronym">transfer none</span></acronym>]</span></p>
</div>
<p class="since">Since: 2.4</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-set-preview-widget-active"></a><h3>gtk_file_chooser_set_preview_widget_active ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gtk_file_chooser_set_preview_widget_active
                               (<em class="parameter"><code><a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>,
                                <em class="parameter"><code><span class="type">gboolean</span> active</code></em>);</pre>
<p>Sets whether the preview widget set by
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-set-preview-widget" title="gtk_file_chooser_set_preview_widget ()"><code class="function">gtk_file_chooser_set_preview_widget()</code></a> should be shown for the
current filename. When <em class="parameter"><code>active</code></em>
 is set to false, the file chooser
may display an internally generated preview of the current file
or it may display no preview at all. See
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-set-preview-widget" title="gtk_file_chooser_set_preview_widget ()"><code class="function">gtk_file_chooser_set_preview_widget()</code></a> for more details.</p>
<div class="refsect3">
<a name="gtk-file-chooser-set-preview-widget-active.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>active</p></td>
<td class="parameter_description"><p>whether to display the user-specified preview widget</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: 2.4</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-get-preview-widget-active"></a><h3>gtk_file_chooser_get_preview_widget_active ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
gtk_file_chooser_get_preview_widget_active
                               (<em class="parameter"><code><a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>);</pre>
<p>Gets whether the preview widget set by <a class="link" href="GtkFileChooser.html#gtk-file-chooser-set-preview-widget" title="gtk_file_chooser_set_preview_widget ()"><code class="function">gtk_file_chooser_set_preview_widget()</code></a>
should be shown for the current filename. See
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-set-preview-widget-active" title="gtk_file_chooser_set_preview_widget_active ()"><code class="function">gtk_file_chooser_set_preview_widget_active()</code></a>.</p>
<div class="refsect3">
<a name="gtk-file-chooser-get-preview-widget-active.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-file-chooser-get-preview-widget-active.returns"></a><h4>Returns</h4>
<p> <code class="literal">TRUE</code> if the preview widget is active for the current filename.</p>
</div>
<p class="since">Since: 2.4</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-set-use-preview-label"></a><h3>gtk_file_chooser_set_use_preview_label ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gtk_file_chooser_set_use_preview_label
                               (<em class="parameter"><code><a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>,
                                <em class="parameter"><code><span class="type">gboolean</span> use_label</code></em>);</pre>
<p>Sets whether the file chooser should display a stock label with the name of
the file that is being previewed; the default is <code class="literal">TRUE</code>.  Applications that
want to draw the whole preview area themselves should set this to <code class="literal">FALSE</code> and
display the name themselves in their preview widget.</p>
<p>See also: <a class="link" href="GtkFileChooser.html#gtk-file-chooser-set-preview-widget" title="gtk_file_chooser_set_preview_widget ()"><code class="function">gtk_file_chooser_set_preview_widget()</code></a></p>
<div class="refsect3">
<a name="gtk-file-chooser-set-use-preview-label.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>use_label</p></td>
<td class="parameter_description"><p>whether to display a stock label with the name of the previewed file</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: 2.4</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-get-use-preview-label"></a><h3>gtk_file_chooser_get_use_preview_label ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
gtk_file_chooser_get_use_preview_label
                               (<em class="parameter"><code><a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>);</pre>
<p>Gets whether a stock label should be drawn with the name of the previewed
file.  See <a class="link" href="GtkFileChooser.html#gtk-file-chooser-set-use-preview-label" title="gtk_file_chooser_set_use_preview_label ()"><code class="function">gtk_file_chooser_set_use_preview_label()</code></a>.</p>
<div class="refsect3">
<a name="gtk-file-chooser-get-use-preview-label.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-file-chooser-get-use-preview-label.returns"></a><h4>Returns</h4>
<p> <code class="literal">TRUE</code> if the file chooser is set to display a label with the
name of the previewed file, <code class="literal">FALSE</code> otherwise.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-get-preview-filename"></a><h3>gtk_file_chooser_get_preview_filename ()</h3>
<pre class="programlisting"><span class="returnvalue">char</span> *
gtk_file_chooser_get_preview_filename (<em class="parameter"><code><a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>);</pre>
<p>Gets the filename that should be previewed in a custom preview
widget. See <a class="link" href="GtkFileChooser.html#gtk-file-chooser-set-preview-widget" title="gtk_file_chooser_set_preview_widget ()"><code class="function">gtk_file_chooser_set_preview_widget()</code></a>.</p>
<div class="refsect3">
<a name="gtk-file-chooser-get-preview-filename.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-file-chooser-get-preview-filename.returns"></a><h4>Returns</h4>
<p>the filename to preview, or <code class="literal">NULL</code> if
no file is selected, or if the selected file cannot be represented
as a local filename. Free with <code class="function">g_free()</code>. </p>
<p><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>][<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> filename]</span></p>
</div>
<p class="since">Since: 2.4</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-get-preview-uri"></a><h3>gtk_file_chooser_get_preview_uri ()</h3>
<pre class="programlisting"><span class="returnvalue">char</span> *
gtk_file_chooser_get_preview_uri (<em class="parameter"><code><a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>);</pre>
<p>Gets the URI that should be previewed in a custom preview
widget. See <a class="link" href="GtkFileChooser.html#gtk-file-chooser-set-preview-widget" title="gtk_file_chooser_set_preview_widget ()"><code class="function">gtk_file_chooser_set_preview_widget()</code></a>.</p>
<div class="refsect3">
<a name="gtk-file-chooser-get-preview-uri.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-file-chooser-get-preview-uri.returns"></a><h4>Returns</h4>
<p>the URI for the file to preview,
or <code class="literal">NULL</code> if no file is selected. Free with <code class="function">g_free()</code>. </p>
<p><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>][<acronym title="The caller owns the data, and is responsible for free it."><span class="acronym">transfer full</span></acronym>]</span></p>
</div>
<p class="since">Since: 2.4</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-set-extra-widget"></a><h3>gtk_file_chooser_set_extra_widget ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gtk_file_chooser_set_extra_widget (<em class="parameter"><code><a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>,
                                   <em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *extra_widget</code></em>);</pre>
<p>Sets an application-supplied widget to provide extra options to the user.</p>
<div class="refsect3">
<a name="gtk-file-chooser-set-extra-widget.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>extra_widget</p></td>
<td class="parameter_description"><p>widget for extra options</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: 2.4</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-get-extra-widget"></a><h3>gtk_file_chooser_get_extra_widget ()</h3>
<pre class="programlisting"><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="returnvalue">GtkWidget</span></a> *
gtk_file_chooser_get_extra_widget (<em class="parameter"><code><a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>);</pre>
<p>Gets the current extra widget; see
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-set-extra-widget" title="gtk_file_chooser_set_extra_widget ()"><code class="function">gtk_file_chooser_set_extra_widget()</code></a>.</p>
<div class="refsect3">
<a name="gtk-file-chooser-get-extra-widget.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-file-chooser-get-extra-widget.returns"></a><h4>Returns</h4>
<p>the current extra widget, or <code class="literal">NULL</code>. </p>
<p><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>][<acronym title="The data is owned by the callee, which is responsible of freeing it."><span class="acronym">transfer none</span></acronym>]</span></p>
</div>
<p class="since">Since: 2.4</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-add-choice"></a><h3>gtk_file_chooser_add_choice ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gtk_file_chooser_add_choice (<em class="parameter"><code><a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>,
                             <em class="parameter"><code>const <span class="type">char</span> *id</code></em>,
                             <em class="parameter"><code>const <span class="type">char</span> *label</code></em>,
                             <em class="parameter"><code>const <span class="type">char</span> **options</code></em>,
                             <em class="parameter"><code>const <span class="type">char</span> **option_labels</code></em>);</pre>
<p>Adds a 'choice' to the file chooser. This is typically implemented
as a combobox or, for boolean choices, as a checkbutton. You can select
a value using <a class="link" href="GtkFileChooser.html#gtk-file-chooser-set-choice" title="gtk_file_chooser_set_choice ()"><code class="function">gtk_file_chooser_set_choice()</code></a> before the dialog is shown,
and you can obtain the user-selected value in the ::response signal handler
using <a class="link" href="GtkFileChooser.html#gtk-file-chooser-get-choice" title="gtk_file_chooser_get_choice ()"><code class="function">gtk_file_chooser_get_choice()</code></a>.</p>
<p>Compare <a class="link" href="GtkFileChooser.html#gtk-file-chooser-set-extra-widget" title="gtk_file_chooser_set_extra_widget ()"><code class="function">gtk_file_chooser_set_extra_widget()</code></a>.</p>
<div class="refsect3">
<a name="gtk-file-chooser-add-choice.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>id</p></td>
<td class="parameter_description"><p>id for the added choice</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>label</p></td>
<td class="parameter_description"><p>user-visible label for the added choice</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>options</p></td>
<td class="parameter_description"><p>ids for the options of the choice, or <code class="literal">NULL</code> for a boolean choice. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> zero-terminated=1]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>option_labels</p></td>
<td class="parameter_description"><p>user-visible labels for the options, must be the same length as <em class="parameter"><code>options</code></em>
. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> zero-terminated=1]</span></td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: <a class="link" href="api-index-3-22.html#api-index-3.22">3.22</a></p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-remove-choice"></a><h3>gtk_file_chooser_remove_choice ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gtk_file_chooser_remove_choice (<em class="parameter"><code><a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>,
                                <em class="parameter"><code>const <span class="type">char</span> *id</code></em>);</pre>
<p>Removes a 'choice' that has been added with <a class="link" href="GtkFileChooser.html#gtk-file-chooser-add-choice" title="gtk_file_chooser_add_choice ()"><code class="function">gtk_file_chooser_add_choice()</code></a>.</p>
<div class="refsect3">
<a name="gtk-file-chooser-remove-choice.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>id</p></td>
<td class="parameter_description"><p>the ID of the choice to remove</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: <a class="link" href="api-index-3-22.html#api-index-3.22">3.22</a></p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-set-choice"></a><h3>gtk_file_chooser_set_choice ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gtk_file_chooser_set_choice (<em class="parameter"><code><a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>,
                             <em class="parameter"><code>const <span class="type">char</span> *id</code></em>,
                             <em class="parameter"><code>const <span class="type">char</span> *option</code></em>);</pre>
<p>Selects an option in a 'choice' that has been added with
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-add-choice" title="gtk_file_chooser_add_choice ()"><code class="function">gtk_file_chooser_add_choice()</code></a>. For a boolean choice, the
possible options are "true" and "false".</p>
<div class="refsect3">
<a name="gtk-file-chooser-set-choice.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>id</p></td>
<td class="parameter_description"><p>the ID of the choice to set</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>option</p></td>
<td class="parameter_description"><p>the ID of the option to select</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: <a class="link" href="api-index-3-22.html#api-index-3.22">3.22</a></p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-get-choice"></a><h3>gtk_file_chooser_get_choice ()</h3>
<pre class="programlisting">const <span class="returnvalue">char</span> *
gtk_file_chooser_get_choice (<em class="parameter"><code><a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>,
                             <em class="parameter"><code>const <span class="type">char</span> *id</code></em>);</pre>
<p>Gets the currently selected option in the 'choice' with the given ID.</p>
<div class="refsect3">
<a name="gtk-file-chooser-get-choice.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>id</p></td>
<td class="parameter_description"><p>the ID of the choice to get</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-file-chooser-get-choice.returns"></a><h4>Returns</h4>
<p> the ID of the currenly selected option</p>
</div>
<p class="since">Since: <a class="link" href="api-index-3-22.html#api-index-3.22">3.22</a></p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-add-filter"></a><h3>gtk_file_chooser_add_filter ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gtk_file_chooser_add_filter (<em class="parameter"><code><a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>,
                             <em class="parameter"><code><a class="link" href="GtkFileFilter.html" title="GtkFileFilter"><span class="type">GtkFileFilter</span></a> *filter</code></em>);</pre>
<p>Adds <em class="parameter"><code>filter</code></em>
 to the list of filters that the user can select between.
When a filter is selected, only files that are passed by that
filter are displayed. </p>
<p>Note that the <em class="parameter"><code>chooser</code></em>
 takes ownership of the filter, so you have to 
ref and sink it if you want to keep a reference.</p>
<div class="refsect3">
<a name="gtk-file-chooser-add-filter.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>filter</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkFileFilter.html" title="GtkFileFilter"><span class="type">GtkFileFilter</span></a>. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="The caller owns the data, and is responsible for free it."><span class="acronym">transfer full</span></acronym>]</span></td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: 2.4</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-remove-filter"></a><h3>gtk_file_chooser_remove_filter ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gtk_file_chooser_remove_filter (<em class="parameter"><code><a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>,
                                <em class="parameter"><code><a class="link" href="GtkFileFilter.html" title="GtkFileFilter"><span class="type">GtkFileFilter</span></a> *filter</code></em>);</pre>
<p>Removes <em class="parameter"><code>filter</code></em>
 from the list of filters that the user can select between.</p>
<div class="refsect3">
<a name="gtk-file-chooser-remove-filter.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>filter</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkFileFilter.html" title="GtkFileFilter"><span class="type">GtkFileFilter</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: 2.4</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-list-filters"></a><h3>gtk_file_chooser_list_filters ()</h3>
<pre class="programlisting"><span class="returnvalue">GSList</span> *
gtk_file_chooser_list_filters (<em class="parameter"><code><a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>);</pre>
<p>Lists the current set of user-selectable filters; see
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-add-filter" title="gtk_file_chooser_add_filter ()"><code class="function">gtk_file_chooser_add_filter()</code></a>, <a class="link" href="GtkFileChooser.html#gtk-file-chooser-remove-filter" title="gtk_file_chooser_remove_filter ()"><code class="function">gtk_file_chooser_remove_filter()</code></a>.</p>
<div class="refsect3">
<a name="gtk-file-chooser-list-filters.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-file-chooser-list-filters.returns"></a><h4>Returns</h4>
<p>a
<span class="type">GSList</span> containing the current set of user selectable filters. The
contents of the list are owned by GTK+, but you must free the list
itself with <code class="function">g_slist_free()</code> when you are done with it. </p>
<p><span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> GtkFileFilter][<acronym title="The caller owns the data container, but not the data inside it."><span class="acronym">transfer container</span></acronym>]</span></p>
</div>
<p class="since">Since: 2.4</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-set-filter"></a><h3>gtk_file_chooser_set_filter ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gtk_file_chooser_set_filter (<em class="parameter"><code><a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>,
                             <em class="parameter"><code><a class="link" href="GtkFileFilter.html" title="GtkFileFilter"><span class="type">GtkFileFilter</span></a> *filter</code></em>);</pre>
<p>Sets the current filter; only the files that pass the
filter will be displayed. If the user-selectable list of filters
is non-empty, then the filter should be one of the filters
in that list. Setting the current filter when the list of
filters is empty is useful if you want to restrict the displayed
set of files without letting the user change it.</p>
<div class="refsect3">
<a name="gtk-file-chooser-set-filter.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>filter</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkFileFilter.html" title="GtkFileFilter"><span class="type">GtkFileFilter</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: 2.4</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-get-filter"></a><h3>gtk_file_chooser_get_filter ()</h3>
<pre class="programlisting"><a class="link" href="GtkFileFilter.html" title="GtkFileFilter"><span class="returnvalue">GtkFileFilter</span></a> *
gtk_file_chooser_get_filter (<em class="parameter"><code><a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>);</pre>
<p>Gets the current filter; see <a class="link" href="GtkFileChooser.html#gtk-file-chooser-set-filter" title="gtk_file_chooser_set_filter ()"><code class="function">gtk_file_chooser_set_filter()</code></a>.</p>
<div class="refsect3">
<a name="gtk-file-chooser-get-filter.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-file-chooser-get-filter.returns"></a><h4>Returns</h4>
<p>the current filter, or <code class="literal">NULL</code>. </p>
<p><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>][<acronym title="The data is owned by the callee, which is responsible of freeing it."><span class="acronym">transfer none</span></acronym>]</span></p>
</div>
<p class="since">Since: 2.4</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-add-shortcut-folder"></a><h3>gtk_file_chooser_add_shortcut_folder ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
gtk_file_chooser_add_shortcut_folder (<em class="parameter"><code><a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>,
                                      <em class="parameter"><code>const <span class="type">char</span> *folder</code></em>,
                                      <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Adds a folder to be displayed with the shortcut folders in a file chooser.
Note that shortcut folders do not get saved, as they are provided by the
application.  For example, you can use this to add a
“/usr/share/mydrawprogram/Clipart” folder to the volume list.</p>
<div class="refsect3">
<a name="gtk-file-chooser-add-shortcut-folder.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>folder</p></td>
<td class="parameter_description"><p>filename of the folder to add. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> filename]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>location to store error, or <code class="literal">NULL</code>. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-file-chooser-add-shortcut-folder.returns"></a><h4>Returns</h4>
<p> <code class="literal">TRUE</code> if the folder could be added successfully, <code class="literal">FALSE</code>
otherwise.  In the latter case, the <em class="parameter"><code>error</code></em>
will be set as appropriate.</p>
</div>
<p class="since">Since: 2.4</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-remove-shortcut-folder"></a><h3>gtk_file_chooser_remove_shortcut_folder ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
gtk_file_chooser_remove_shortcut_folder
                               (<em class="parameter"><code><a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>,
                                <em class="parameter"><code>const <span class="type">char</span> *folder</code></em>,
                                <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Removes a folder from a file chooser’s list of shortcut folders.</p>
<div class="refsect3">
<a name="gtk-file-chooser-remove-shortcut-folder.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>folder</p></td>
<td class="parameter_description"><p>filename of the folder to remove. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> filename]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>location to store error, or <code class="literal">NULL</code>. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-file-chooser-remove-shortcut-folder.returns"></a><h4>Returns</h4>
<p> <code class="literal">TRUE</code> if the operation succeeds, <code class="literal">FALSE</code> otherwise.
In the latter case, the <em class="parameter"><code>error</code></em>
will be set as appropriate.</p>
<p>See also: <a class="link" href="GtkFileChooser.html#gtk-file-chooser-add-shortcut-folder" title="gtk_file_chooser_add_shortcut_folder ()"><code class="function">gtk_file_chooser_add_shortcut_folder()</code></a></p>
</div>
<p class="since">Since: 2.4</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-list-shortcut-folders"></a><h3>gtk_file_chooser_list_shortcut_folders ()</h3>
<pre class="programlisting"><span class="returnvalue">GSList</span> *
gtk_file_chooser_list_shortcut_folders
                               (<em class="parameter"><code><a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>);</pre>
<p>Queries the list of shortcut folders in the file chooser, as set by
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-add-shortcut-folder" title="gtk_file_chooser_add_shortcut_folder ()"><code class="function">gtk_file_chooser_add_shortcut_folder()</code></a>.</p>
<div class="refsect3">
<a name="gtk-file-chooser-list-shortcut-folders.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-file-chooser-list-shortcut-folders.returns"></a><h4>Returns</h4>
<p>A list
of folder filenames, or <code class="literal">NULL</code> if there are no shortcut folders.
Free the returned list with <code class="function">g_slist_free()</code>, and the filenames with
<code class="function">g_free()</code>. </p>
<p><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> filename][<acronym title="The caller owns the data, and is responsible for free it."><span class="acronym">transfer full</span></acronym>]</span></p>
</div>
<p class="since">Since: 2.4</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-add-shortcut-folder-uri"></a><h3>gtk_file_chooser_add_shortcut_folder_uri ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
gtk_file_chooser_add_shortcut_folder_uri
                               (<em class="parameter"><code><a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>,
                                <em class="parameter"><code>const <span class="type">char</span> *uri</code></em>,
                                <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Adds a folder URI to be displayed with the shortcut folders in a file
chooser.  Note that shortcut folders do not get saved, as they are provided
by the application.  For example, you can use this to add a
“file:///usr/share/mydrawprogram/Clipart” folder to the volume list.</p>
<div class="refsect3">
<a name="gtk-file-chooser-add-shortcut-folder-uri.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>uri</p></td>
<td class="parameter_description"><p>URI of the folder to add</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>location to store error, or <code class="literal">NULL</code>. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-file-chooser-add-shortcut-folder-uri.returns"></a><h4>Returns</h4>
<p> <code class="literal">TRUE</code> if the folder could be added successfully, <code class="literal">FALSE</code>
otherwise.  In the latter case, the <em class="parameter"><code>error</code></em>
will be set as appropriate.</p>
</div>
<p class="since">Since: 2.4</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-remove-shortcut-folder-uri"></a><h3>gtk_file_chooser_remove_shortcut_folder_uri ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
gtk_file_chooser_remove_shortcut_folder_uri
                               (<em class="parameter"><code><a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>,
                                <em class="parameter"><code>const <span class="type">char</span> *uri</code></em>,
                                <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Removes a folder URI from a file chooser’s list of shortcut folders.</p>
<div class="refsect3">
<a name="gtk-file-chooser-remove-shortcut-folder-uri.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>uri</p></td>
<td class="parameter_description"><p>URI of the folder to remove</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>location to store error, or <code class="literal">NULL</code>. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-file-chooser-remove-shortcut-folder-uri.returns"></a><h4>Returns</h4>
<p> <code class="literal">TRUE</code> if the operation succeeds, <code class="literal">FALSE</code> otherwise.
In the latter case, the <em class="parameter"><code>error</code></em>
will be set as appropriate.</p>
<p>See also: <a class="link" href="GtkFileChooser.html#gtk-file-chooser-add-shortcut-folder-uri" title="gtk_file_chooser_add_shortcut_folder_uri ()"><code class="function">gtk_file_chooser_add_shortcut_folder_uri()</code></a></p>
</div>
<p class="since">Since: 2.4</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-list-shortcut-folder-uris"></a><h3>gtk_file_chooser_list_shortcut_folder_uris ()</h3>
<pre class="programlisting"><span class="returnvalue">GSList</span> *
gtk_file_chooser_list_shortcut_folder_uris
                               (<em class="parameter"><code><a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>);</pre>
<p>Queries the list of shortcut folders in the file chooser, as set by
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-add-shortcut-folder-uri" title="gtk_file_chooser_add_shortcut_folder_uri ()"><code class="function">gtk_file_chooser_add_shortcut_folder_uri()</code></a>.</p>
<div class="refsect3">
<a name="gtk-file-chooser-list-shortcut-folder-uris.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-file-chooser-list-shortcut-folder-uris.returns"></a><h4>Returns</h4>
<p>A list of
folder URIs, or <code class="literal">NULL</code> if there are no shortcut folders.  Free the
returned list with <code class="function">g_slist_free()</code>, and the URIs with <code class="function">g_free()</code>. </p>
<p><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> utf8][<acronym title="The caller owns the data, and is responsible for free it."><span class="acronym">transfer full</span></acronym>]</span></p>
</div>
<p class="since">Since: 2.4</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-get-current-folder-file"></a><h3>gtk_file_chooser_get_current_folder_file ()</h3>
<pre class="programlisting"><span class="returnvalue">GFile</span> *
gtk_file_chooser_get_current_folder_file
                               (<em class="parameter"><code><a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>);</pre>
<p>Gets the current folder of <em class="parameter"><code>chooser</code></em>
 as <span class="type">GFile</span>.
See <a class="link" href="GtkFileChooser.html#gtk-file-chooser-get-current-folder-uri" title="gtk_file_chooser_get_current_folder_uri ()"><code class="function">gtk_file_chooser_get_current_folder_uri()</code></a>.</p>
<div class="refsect3">
<a name="gtk-file-chooser-get-current-folder-file.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-file-chooser-get-current-folder-file.returns"></a><h4>Returns</h4>
<p>the <span class="type">GFile</span> for the current folder. </p>
<p><span class="annotation">[<acronym title="The caller owns the data, and is responsible for free it."><span class="acronym">transfer full</span></acronym>]</span></p>
</div>
<p class="since">Since: 2.14</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-get-file"></a><h3>gtk_file_chooser_get_file ()</h3>
<pre class="programlisting"><span class="returnvalue">GFile</span> *
gtk_file_chooser_get_file (<em class="parameter"><code><a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>);</pre>
<p>Gets the <span class="type">GFile</span> for the currently selected file in
the file selector. If multiple files are selected,
one of the files will be returned at random.</p>
<p>If the file chooser is in folder mode, this function returns the selected
folder.</p>
<div class="refsect3">
<a name="gtk-file-chooser-get-file.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-file-chooser-get-file.returns"></a><h4>Returns</h4>
<p>a selected <span class="type">GFile</span>. You own the returned file;
use <code class="function">g_object_unref()</code> to release it. </p>
<p><span class="annotation">[<acronym title="The caller owns the data, and is responsible for free it."><span class="acronym">transfer full</span></acronym>]</span></p>
</div>
<p class="since">Since: 2.14</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-get-files"></a><h3>gtk_file_chooser_get_files ()</h3>
<pre class="programlisting"><span class="returnvalue">GSList</span> *
gtk_file_chooser_get_files (<em class="parameter"><code><a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>);</pre>
<p>Lists all the selected files and subfolders in the current folder of <em class="parameter"><code>chooser</code></em>

as <span class="type">GFile</span>. An internal function, see <a class="link" href="GtkFileChooser.html#gtk-file-chooser-get-uris" title="gtk_file_chooser_get_uris ()"><code class="function">gtk_file_chooser_get_uris()</code></a>.</p>
<div class="refsect3">
<a name="gtk-file-chooser-get-files.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-file-chooser-get-files.returns"></a><h4>Returns</h4>
<p>a <span class="type">GSList</span>
containing a <span class="type">GFile</span> for each selected file and subfolder in the
current folder.  Free the returned list with <code class="function">g_slist_free()</code>, and
the files with <code class="function">g_object_unref()</code>. </p>
<p><span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> GFile][<acronym title="The caller owns the data, and is responsible for free it."><span class="acronym">transfer full</span></acronym>]</span></p>
</div>
<p class="since">Since: 2.14</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-get-preview-file"></a><h3>gtk_file_chooser_get_preview_file ()</h3>
<pre class="programlisting"><span class="returnvalue">GFile</span> *
gtk_file_chooser_get_preview_file (<em class="parameter"><code><a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>);</pre>
<p>Gets the <span class="type">GFile</span> that should be previewed in a custom preview
Internal function, see <a class="link" href="GtkFileChooser.html#gtk-file-chooser-get-preview-uri" title="gtk_file_chooser_get_preview_uri ()"><code class="function">gtk_file_chooser_get_preview_uri()</code></a>.</p>
<div class="refsect3">
<a name="gtk-file-chooser-get-preview-file.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-file-chooser-get-preview-file.returns"></a><h4>Returns</h4>
<p>the <span class="type">GFile</span> for the file to preview,
or <code class="literal">NULL</code> if no file is selected. Free with <code class="function">g_object_unref()</code>. </p>
<p><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>][<acronym title="The caller owns the data, and is responsible for free it."><span class="acronym">transfer full</span></acronym>]</span></p>
</div>
<p class="since">Since: 2.14</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-select-file"></a><h3>gtk_file_chooser_select_file ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
gtk_file_chooser_select_file (<em class="parameter"><code><a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>,
                              <em class="parameter"><code><span class="type">GFile</span> *file</code></em>,
                              <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Selects the file referred to by <em class="parameter"><code>file</code></em>
. An internal function. See
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-select-uri" title="gtk_file_chooser_select_uri ()"><code class="function">_gtk_file_chooser_select_uri()</code></a>.</p>
<div class="refsect3">
<a name="gtk-file-chooser-select-file.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>file</p></td>
<td class="parameter_description"><p>the file to select</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>location to store error, or <code class="literal">NULL</code>. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-file-chooser-select-file.returns"></a><h4>Returns</h4>
<p> Not useful.</p>
</div>
<p class="since">Since: 2.14</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-set-current-folder-file"></a><h3>gtk_file_chooser_set_current_folder_file ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
gtk_file_chooser_set_current_folder_file
                               (<em class="parameter"><code><a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>,
                                <em class="parameter"><code><span class="type">GFile</span> *file</code></em>,
                                <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Sets the current folder for <em class="parameter"><code>chooser</code></em>
 from a <span class="type">GFile</span>.
Internal function, see <a class="link" href="GtkFileChooser.html#gtk-file-chooser-set-current-folder-uri" title="gtk_file_chooser_set_current_folder_uri ()"><code class="function">gtk_file_chooser_set_current_folder_uri()</code></a>.</p>
<div class="refsect3">
<a name="gtk-file-chooser-set-current-folder-file.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>file</p></td>
<td class="parameter_description"><p>the <span class="type">GFile</span> for the new folder</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>location to store error, or <code class="literal">NULL</code>. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-file-chooser-set-current-folder-file.returns"></a><h4>Returns</h4>
<p> <code class="literal">TRUE</code> if the folder could be changed successfully, <code class="literal">FALSE</code>
otherwise.</p>
</div>
<p class="since">Since: 2.14</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-set-file"></a><h3>gtk_file_chooser_set_file ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
gtk_file_chooser_set_file (<em class="parameter"><code><a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>,
                           <em class="parameter"><code><span class="type">GFile</span> *file</code></em>,
                           <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Sets <em class="parameter"><code>file</code></em>
 as the current filename for the file chooser, by changing
to the file’s parent folder and actually selecting the file in list.  If
the <em class="parameter"><code>chooser</code></em>
 is in <a class="link" href="GtkFileChooser.html#GTK-FILE-CHOOSER-ACTION-SAVE:CAPS"><code class="literal">GTK_FILE_CHOOSER_ACTION_SAVE</code></a> mode, the file’s base name
will also appear in the dialog’s file name entry.</p>
<p>If the file name isn’t in the current folder of <em class="parameter"><code>chooser</code></em>
, then the current
folder of <em class="parameter"><code>chooser</code></em>
 will be changed to the folder containing <em class="parameter"><code>filename</code></em>
. This
is equivalent to a sequence of <a class="link" href="GtkFileChooser.html#gtk-file-chooser-unselect-all" title="gtk_file_chooser_unselect_all ()"><code class="function">gtk_file_chooser_unselect_all()</code></a> followed by
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-select-filename" title="gtk_file_chooser_select_filename ()"><code class="function">gtk_file_chooser_select_filename()</code></a>.</p>
<p>Note that the file must exist, or nothing will be done except
for the directory change.</p>
<p>If you are implementing a save dialog,
you should use this function if you already have a file name to which the
user may save; for example, when the user opens an existing file and then
does Save As...  If you don’t have
a file name already — for example, if the user just created a new
file and is saving it for the first time, do not call this function.
Instead, use something similar to this:</p>
<div class="informalexample">
  <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
    <tbody>
      <tr>
        <td class="listing_lines" align="right"><pre>1
2
3
4
5
6
7
8
9
10
11</pre></td>
        <td class="listing_code"><pre class="programlisting"><span class="k">if</span> <span class="p">(</span><span class="n">document_is_new</span><span class="p">)</span>
  <span class="p">{</span>
    <span class="c1">// the user just created a new document</span>
    <span class="n">gtk_file_chooser_set_current_folder_file</span> <span class="p">(</span><span class="n">chooser</span><span class="p">,</span> <span class="n">default_file_for_saving</span><span class="p">);</span>
    <span class="n">gtk_file_chooser_set_current_name</span> <span class="p">(</span><span class="n">chooser</span><span class="p">,</span> <span class="s">&quot;Untitled document&quot;</span><span class="p">);</span>
  <span class="p">}</span>
<span class="k">else</span>
  <span class="p">{</span>
    <span class="c1">// the user edited an existing document</span>
    <span class="n">gtk_file_chooser_set_file</span> <span class="p">(</span><span class="n">chooser</span><span class="p">,</span> <span class="n">existing_file</span><span class="p">);</span>
  <span class="p">}</span></pre></td>
      </tr>
    </tbody>
  </table>
</div>

<p></p>
<div class="refsect3">
<a name="gtk-file-chooser-set-file.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>file</p></td>
<td class="parameter_description"><p>the <span class="type">GFile</span> to set as current</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>location to store the error, or <code class="literal">NULL</code> to ignore errors. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-file-chooser-set-file.returns"></a><h4>Returns</h4>
<p> Not useful.</p>
</div>
<p class="since">Since: 2.14</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-unselect-file"></a><h3>gtk_file_chooser_unselect_file ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gtk_file_chooser_unselect_file (<em class="parameter"><code><a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>,
                                <em class="parameter"><code><span class="type">GFile</span> *file</code></em>);</pre>
<p>Unselects the file referred to by <em class="parameter"><code>file</code></em>
. If the file is not in the current
directory, does not exist, or is otherwise not currently selected, does nothing.</p>
<div class="refsect3">
<a name="gtk-file-chooser-unselect-file.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>file</p></td>
<td class="parameter_description"><p>a <span class="type">GFile</span></p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: 2.14</p>
</div>
</div>
<div class="refsect1">
<a name="GtkFileChooser.other_details"></a><h2>Types and Values</h2>
<div class="refsect2">
<a name="GtkFileChooser-struct"></a><h3>GtkFileChooser</h3>
<pre class="programlisting">typedef struct _GtkFileChooser GtkFileChooser;</pre>
</div>
<hr>
<div class="refsect2">
<a name="GtkFileChooserAction"></a><h3>enum GtkFileChooserAction</h3>
<p>Describes whether a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> is being used to open existing files
or to save to a possibly new file.</p>
<div class="refsect3">
<a name="GtkFileChooserAction.members"></a><h4>Members</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
<col width="200px" class="enum_members_annotations">
</colgroup>
<tbody>
<tr>
<td class="enum_member_name"><p><a name="GTK-FILE-CHOOSER-ACTION-OPEN:CAPS"></a>GTK_FILE_CHOOSER_ACTION_OPEN</p></td>
<td class="enum_member_description">
<p>Indicates open mode.  The file chooser
will only let the user pick an existing file.</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="GTK-FILE-CHOOSER-ACTION-SAVE:CAPS"></a>GTK_FILE_CHOOSER_ACTION_SAVE</p></td>
<td class="enum_member_description">
<p>Indicates save mode.  The file chooser
will let the user pick an existing file, or type in a new
filename.</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="GTK-FILE-CHOOSER-ACTION-SELECT-FOLDER:CAPS"></a>GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER</p></td>
<td class="enum_member_description">
<p>Indicates an Open mode for
selecting folders.  The file chooser will let the user pick an
existing folder.</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="GTK-FILE-CHOOSER-ACTION-CREATE-FOLDER:CAPS"></a>GTK_FILE_CHOOSER_ACTION_CREATE_FOLDER</p></td>
<td class="enum_member_description">
<p>Indicates a mode for creating a
new folder.  The file chooser will let the user name an existing or
new folder.</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="GtkFileChooserConfirmation"></a><h3>enum GtkFileChooserConfirmation</h3>
<p>Used as a return value of handlers for the
<a class="link" href="GtkFileChooser.html#GtkFileChooser-confirm-overwrite" title="The “confirm-overwrite” signal"><span class="type">“confirm-overwrite”</span></a> signal of a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a>. This
value determines whether the file chooser will present the stock
confirmation dialog, accept the user’s choice of a filename, or
let the user choose another filename.</p>
<div class="refsect3">
<a name="GtkFileChooserConfirmation.members"></a><h4>Members</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
<col width="200px" class="enum_members_annotations">
</colgroup>
<tbody>
<tr>
<td class="enum_member_name"><p><a name="GTK-FILE-CHOOSER-CONFIRMATION-CONFIRM:CAPS"></a>GTK_FILE_CHOOSER_CONFIRMATION_CONFIRM</p></td>
<td class="enum_member_description">
<p>The file chooser will present
its stock dialog to confirm about overwriting an existing file.</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="GTK-FILE-CHOOSER-CONFIRMATION-ACCEPT-FILENAME:CAPS"></a>GTK_FILE_CHOOSER_CONFIRMATION_ACCEPT_FILENAME</p></td>
<td class="enum_member_description">
<p>The file chooser will
terminate and accept the user’s choice of a file name.</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="GTK-FILE-CHOOSER-CONFIRMATION-SELECT-AGAIN:CAPS"></a>GTK_FILE_CHOOSER_CONFIRMATION_SELECT_AGAIN</p></td>
<td class="enum_member_description">
<p>The file chooser will
continue running, so as to let the user select another file name.</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: 2.8</p>
</div>
<hr>
<div class="refsect2">
<a name="GTK-FILE-CHOOSER-ERROR:CAPS"></a><h3>GTK_FILE_CHOOSER_ERROR</h3>
<pre class="programlisting">#define GTK_FILE_CHOOSER_ERROR (gtk_file_chooser_error_quark ())
</pre>
<p>Used to get the <span class="type">GError</span> quark for <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> errors.</p>
</div>
<hr>
<div class="refsect2">
<a name="GtkFileChooserError"></a><h3>enum GtkFileChooserError</h3>
<p>These identify the various errors that can occur while calling
<a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> functions.</p>
<div class="refsect3">
<a name="GtkFileChooserError.members"></a><h4>Members</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
<col width="200px" class="enum_members_annotations">
</colgroup>
<tbody>
<tr>
<td class="enum_member_name"><p><a name="GTK-FILE-CHOOSER-ERROR-NONEXISTENT:CAPS"></a>GTK_FILE_CHOOSER_ERROR_NONEXISTENT</p></td>
<td class="enum_member_description">
<p>Indicates that a file does not exist.</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="GTK-FILE-CHOOSER-ERROR-BAD-FILENAME:CAPS"></a>GTK_FILE_CHOOSER_ERROR_BAD_FILENAME</p></td>
<td class="enum_member_description">
<p>Indicates a malformed filename.</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="GTK-FILE-CHOOSER-ERROR-ALREADY-EXISTS:CAPS"></a>GTK_FILE_CHOOSER_ERROR_ALREADY_EXISTS</p></td>
<td class="enum_member_description">
<p>Indicates a duplicate path (e.g. when
adding a bookmark).</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="GTK-FILE-CHOOSER-ERROR-INCOMPLETE-HOSTNAME:CAPS"></a>GTK_FILE_CHOOSER_ERROR_INCOMPLETE_HOSTNAME</p></td>
<td class="enum_member_description">
<p>Indicates an incomplete hostname (e.g. "http://foo" without a slash after that).</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
</div>
<div class="refsect1">
<a name="GtkFileChooser.property-details"></a><h2>Property Details</h2>
<div class="refsect2">
<a name="GtkFileChooser--action"></a><h3>The <code class="literal">“action”</code> property</h3>
<pre class="programlisting">  “action”                   <a class="link" href="GtkFileChooser.html#GtkFileChooserAction" title="enum GtkFileChooserAction"><span class="type">GtkFileChooserAction</span></a></pre>
<p>The type of operation that the file selector is performing.</p>
<p>Owner: GtkFileChooser</p>
<p>Flags: Read / Write</p>
<p>Default value: GTK_FILE_CHOOSER_ACTION_OPEN</p>
</div>
<hr>
<div class="refsect2">
<a name="GtkFileChooser--create-folders"></a><h3>The <code class="literal">“create-folders”</code> property</h3>
<pre class="programlisting">  “create-folders”           <span class="type">gboolean</span></pre>
<p>Whether a file chooser not in <a class="link" href="GtkFileChooser.html#GTK-FILE-CHOOSER-ACTION-OPEN:CAPS"><code class="literal">GTK_FILE_CHOOSER_ACTION_OPEN</code></a> mode
will offer the user to create new folders.</p>
<p>Owner: GtkFileChooser</p>
<p>Flags: Read / Write</p>
<p>Default value: TRUE</p>
<p class="since">Since: 2.18</p>
</div>
<hr>
<div class="refsect2">
<a name="GtkFileChooser--do-overwrite-confirmation"></a><h3>The <code class="literal">“do-overwrite-confirmation”</code> property</h3>
<pre class="programlisting">  “do-overwrite-confirmation” <span class="type">gboolean</span></pre>
<p>Whether a file chooser in <a class="link" href="GtkFileChooser.html#GTK-FILE-CHOOSER-ACTION-SAVE:CAPS"><code class="literal">GTK_FILE_CHOOSER_ACTION_SAVE</code></a> mode
will present an overwrite confirmation dialog if the user
selects a file name that already exists.</p>
<p>Owner: GtkFileChooser</p>
<p>Flags: Read / Write</p>
<p>Default value: FALSE</p>
<p class="since">Since: 2.8</p>
</div>
<hr>
<div class="refsect2">
<a name="GtkFileChooser--extra-widget"></a><h3>The <code class="literal">“extra-widget”</code> property</h3>
<pre class="programlisting">  “extra-widget”             <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *</pre>
<p>Application supplied widget for extra options.</p>
<p>Owner: GtkFileChooser</p>
<p>Flags: Read / Write</p>
</div>
<hr>
<div class="refsect2">
<a name="GtkFileChooser--filter"></a><h3>The <code class="literal">“filter”</code> property</h3>
<pre class="programlisting">  “filter”                   <a class="link" href="GtkFileFilter.html" title="GtkFileFilter"><span class="type">GtkFileFilter</span></a> *</pre>
<p>The current filter for selecting which files are displayed.</p>
<p>Owner: GtkFileChooser</p>
<p>Flags: Read / Write</p>
</div>
<hr>
<div class="refsect2">
<a name="GtkFileChooser--local-only"></a><h3>The <code class="literal">“local-only”</code> property</h3>
<pre class="programlisting">  “local-only”               <span class="type">gboolean</span></pre>
<p>Whether the selected file(s) should be limited to local file: URLs.</p>
<p>Owner: GtkFileChooser</p>
<p>Flags: Read / Write</p>
<p>Default value: TRUE</p>
</div>
<hr>
<div class="refsect2">
<a name="GtkFileChooser--preview-widget"></a><h3>The <code class="literal">“preview-widget”</code> property</h3>
<pre class="programlisting">  “preview-widget”           <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *</pre>
<p>Application supplied widget for custom previews.</p>
<p>Owner: GtkFileChooser</p>
<p>Flags: Read / Write</p>
</div>
<hr>
<div class="refsect2">
<a name="GtkFileChooser--preview-widget-active"></a><h3>The <code class="literal">“preview-widget-active”</code> property</h3>
<pre class="programlisting">  “preview-widget-active”    <span class="type">gboolean</span></pre>
<p>Whether the application supplied widget for custom previews should be shown.</p>
<p>Owner: GtkFileChooser</p>
<p>Flags: Read / Write</p>
<p>Default value: TRUE</p>
</div>
<hr>
<div class="refsect2">
<a name="GtkFileChooser--select-multiple"></a><h3>The <code class="literal">“select-multiple”</code> property</h3>
<pre class="programlisting">  “select-multiple”          <span class="type">gboolean</span></pre>
<p>Whether to allow multiple files to be selected.</p>
<p>Owner: GtkFileChooser</p>
<p>Flags: Read / Write</p>
<p>Default value: FALSE</p>
</div>
<hr>
<div class="refsect2">
<a name="GtkFileChooser--show-hidden"></a><h3>The <code class="literal">“show-hidden”</code> property</h3>
<pre class="programlisting">  “show-hidden”              <span class="type">gboolean</span></pre>
<p>Whether the hidden files and folders should be displayed.</p>
<p>Owner: GtkFileChooser</p>
<p>Flags: Read / Write</p>
<p>Default value: FALSE</p>
</div>
<hr>
<div class="refsect2">
<a name="GtkFileChooser--use-preview-label"></a><h3>The <code class="literal">“use-preview-label”</code> property</h3>
<pre class="programlisting">  “use-preview-label”        <span class="type">gboolean</span></pre>
<p>Whether to display a stock label with the name of the previewed file.</p>
<p>Owner: GtkFileChooser</p>
<p>Flags: Read / Write</p>
<p>Default value: TRUE</p>
</div>
</div>
<div class="refsect1">
<a name="GtkFileChooser.signal-details"></a><h2>Signal Details</h2>
<div class="refsect2">
<a name="GtkFileChooser-confirm-overwrite"></a><h3>The <code class="literal">“confirm-overwrite”</code> signal</h3>
<pre class="programlisting"><a class="link" href="GtkFileChooser.html#GtkFileChooserConfirmation" title="enum GtkFileChooserConfirmation"><span class="returnvalue">GtkFileChooserConfirmation</span></a>
user_function (<a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser,
               <span class="type">gpointer</span>        user_data)</pre>
<p>This signal gets emitted whenever it is appropriate to present a
confirmation dialog when the user has selected a file name that
already exists.  The signal only gets emitted when the file
chooser is in <a class="link" href="GtkFileChooser.html#GTK-FILE-CHOOSER-ACTION-SAVE:CAPS"><code class="literal">GTK_FILE_CHOOSER_ACTION_SAVE</code></a> mode.</p>
<p>Most applications just need to turn on the
<a class="link" href="GtkFileChooser.html#GtkFileChooser--do-overwrite-confirmation" title="The “do-overwrite-confirmation” property"><span class="type">“do-overwrite-confirmation”</span></a> property (or call the
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-set-do-overwrite-confirmation" title="gtk_file_chooser_set_do_overwrite_confirmation ()"><code class="function">gtk_file_chooser_set_do_overwrite_confirmation()</code></a> function), and
they will automatically get a stock confirmation dialog.
Applications which need to customize this behavior should do
that, and also connect to the <a class="link" href="GtkFileChooser.html#GtkFileChooser-confirm-overwrite" title="The “confirm-overwrite” signal"><span class="type">“confirm-overwrite”</span></a>
signal.</p>
<p>A signal handler for this signal must return a
<a class="link" href="GtkFileChooser.html#GtkFileChooserConfirmation" title="enum GtkFileChooserConfirmation"><span class="type">GtkFileChooserConfirmation</span></a> value, which indicates the action to
take.  If the handler determines that the user wants to select a
different filename, it should return
<a class="link" href="GtkFileChooser.html#GTK-FILE-CHOOSER-CONFIRMATION-SELECT-AGAIN:CAPS"><code class="literal">GTK_FILE_CHOOSER_CONFIRMATION_SELECT_AGAIN</code></a>.  If it determines
that the user is satisfied with his choice of file name, it
should return <a class="link" href="GtkFileChooser.html#GTK-FILE-CHOOSER-CONFIRMATION-ACCEPT-FILENAME:CAPS"><code class="literal">GTK_FILE_CHOOSER_CONFIRMATION_ACCEPT_FILENAME</code></a>.
On the other hand, if it determines that the stock confirmation
dialog should be used, it should return
<a class="link" href="GtkFileChooser.html#GTK-FILE-CHOOSER-CONFIRMATION-CONFIRM:CAPS"><code class="literal">GTK_FILE_CHOOSER_CONFIRMATION_CONFIRM</code></a>. The following example
illustrates this.</p>
<div class="refsect3">
<a name="gtkfilechooser-confirmation"></a><h4>Custom confirmation</h4>
<div class="informalexample">
  <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
    <tbody>
      <tr>
        <td class="listing_lines" align="right"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29</pre></td>
        <td class="listing_code"><pre class="programlisting"><span class="k">static</span> <span class="n">GtkFileChooserConfirmation</span>
<span class="n">confirm_overwrite_callback</span> <span class="p">(</span><span class="n">GtkFileChooser</span> <span class="o">*</span><span class="n">chooser</span><span class="p">,</span> <span class="n">gpointer</span> <span class="n">data</span><span class="p">)</span>
<span class="p">{</span>
  <span class="kt">char</span> <span class="o">*</span><span class="n">uri</span><span class="p">;</span>

  <span class="n">uri</span> <span class="o">=</span> <span class="n">gtk_file_chooser_get_uri</span> <span class="p">(</span><span class="n">chooser</span><span class="p">);</span>

  <span class="k">if</span> <span class="p">(</span><span class="n">is_uri_read_only</span> <span class="p">(</span><span class="n">uri</span><span class="p">))</span>
    <span class="p">{</span>
      <span class="k">if</span> <span class="p">(</span><span class="n">user_wants_to_replace_read_only_file</span> <span class="p">(</span><span class="n">uri</span><span class="p">))</span>
        <span class="k">return</span> <span class="n">GTK_FILE_CHOOSER_CONFIRMATION_ACCEPT_FILENAME</span><span class="p">;</span>
      <span class="k">else</span>
        <span class="k">return</span> <span class="n">GTK_FILE_CHOOSER_CONFIRMATION_SELECT_AGAIN</span><span class="p">;</span>
    <span class="p">}</span> <span class="k">else</span>
      <span class="k">return</span> <span class="n">GTK_FILE_CHOOSER_CONFIRMATION_CONFIRM</span><span class="p">;</span> <span class="c1">// fall back to the default dialog</span>
<span class="p">}</span>

<span class="p">...</span>

<span class="n">chooser</span> <span class="o">=</span> <span class="n">gtk_file_chooser_dialog_new</span> <span class="p">(...);</span>

<span class="n">gtk_file_chooser_set_do_overwrite_confirmation</span> <span class="p">(</span><span class="n">GTK_FILE_CHOOSER</span> <span class="p">(</span><span class="n">dialog</span><span class="p">),</span> <span class="n">TRUE</span><span class="p">);</span>
<span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">chooser</span><span class="p">,</span> <span class="s">&quot;confirm-overwrite&quot;</span><span class="p">,</span>
                  <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">confirm_overwrite_callback</span><span class="p">),</span> <span class="nb">NULL</span><span class="p">);</span>

<span class="k">if</span> <span class="p">(</span><span class="n">gtk_dialog_run</span> <span class="p">(</span><span class="n">chooser</span><span class="p">)</span> <span class="o">==</span> <span class="n">GTK_RESPONSE_ACCEPT</span><span class="p">)</span>
        <span class="n">save_to_file</span> <span class="p">(</span><span class="n">gtk_file_chooser_get_filename</span> <span class="p">(</span><span class="n">GTK_FILE_CHOOSER</span> <span class="p">(</span><span class="n">chooser</span><span class="p">));</span>

<span class="n">gtk_widget_destroy</span> <span class="p">(</span><span class="n">chooser</span><span class="p">);</span></pre></td>
      </tr>
    </tbody>
  </table>
</div>

<p></p>
</div>
<div class="refsect3">
<a name="GtkFileChooser-confirm-overwrite.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>the object which received the signal.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>user_data</p></td>
<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="GtkFileChooser-confirm-overwrite.returns"></a><h4>Returns</h4>
<p> a <a class="link" href="GtkFileChooser.html#GtkFileChooserConfirmation" title="enum GtkFileChooserConfirmation"><span class="type">GtkFileChooserConfirmation</span></a> value that indicates which
action to take after emitting the signal.</p>
</div>
<p>Flags: Run Last</p>
<p class="since">Since: 2.8</p>
</div>
<hr>
<div class="refsect2">
<a name="GtkFileChooser-current-folder-changed"></a><h3>The <code class="literal">“current-folder-changed”</code> signal</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
user_function (<a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser,
               <span class="type">gpointer</span>        user_data)</pre>
<p>This signal is emitted when the current folder in a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a>
changes.  This can happen due to the user performing some action that
changes folders, such as selecting a bookmark or visiting a folder on the
file list.  It can also happen as a result of calling a function to
explicitly change the current folder in a file chooser.</p>
<p>Normally you do not need to connect to this signal, unless you need to keep
track of which folder a file chooser is showing.</p>
<p>See also:  <a class="link" href="GtkFileChooser.html#gtk-file-chooser-set-current-folder" title="gtk_file_chooser_set_current_folder ()"><code class="function">gtk_file_chooser_set_current_folder()</code></a>,
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-get-current-folder" title="gtk_file_chooser_get_current_folder ()"><code class="function">gtk_file_chooser_get_current_folder()</code></a>,
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-set-current-folder-uri" title="gtk_file_chooser_set_current_folder_uri ()"><code class="function">gtk_file_chooser_set_current_folder_uri()</code></a>,
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-get-current-folder-uri" title="gtk_file_chooser_get_current_folder_uri ()"><code class="function">gtk_file_chooser_get_current_folder_uri()</code></a>.</p>
<div class="refsect3">
<a name="GtkFileChooser-current-folder-changed.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>the object which received the signal.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>user_data</p></td>
<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p>Flags: Run Last</p>
</div>
<hr>
<div class="refsect2">
<a name="GtkFileChooser-file-activated"></a><h3>The <code class="literal">“file-activated”</code> signal</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
user_function (<a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser,
               <span class="type">gpointer</span>        user_data)</pre>
<p>This signal is emitted when the user "activates" a file in the file
chooser.  This can happen by double-clicking on a file in the file list, or
by pressing <code class="literal">Enter</code>.</p>
<p>Normally you do not need to connect to this signal.  It is used internally
by <a class="link" href="GtkFileChooserDialog.html" title="GtkFileChooserDialog"><span class="type">GtkFileChooserDialog</span></a> to know when to activate the default button in the
dialog.</p>
<p>See also: <a class="link" href="GtkFileChooser.html#gtk-file-chooser-get-filename" title="gtk_file_chooser_get_filename ()"><code class="function">gtk_file_chooser_get_filename()</code></a>,
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-get-filenames" title="gtk_file_chooser_get_filenames ()"><code class="function">gtk_file_chooser_get_filenames()</code></a>, <a class="link" href="GtkFileChooser.html#gtk-file-chooser-get-uri" title="gtk_file_chooser_get_uri ()"><code class="function">gtk_file_chooser_get_uri()</code></a>,
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-get-uris" title="gtk_file_chooser_get_uris ()"><code class="function">gtk_file_chooser_get_uris()</code></a>.</p>
<div class="refsect3">
<a name="GtkFileChooser-file-activated.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>the object which received the signal.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>user_data</p></td>
<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p>Flags: Run Last</p>
</div>
<hr>
<div class="refsect2">
<a name="GtkFileChooser-selection-changed"></a><h3>The <code class="literal">“selection-changed”</code> signal</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
user_function (<a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser,
               <span class="type">gpointer</span>        user_data)</pre>
<p>This signal is emitted when there is a change in the set of selected files
in a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a>.  This can happen when the user modifies the selection
with the mouse or the keyboard, or when explicitly calling functions to
change the selection.</p>
<p>Normally you do not need to connect to this signal, as it is easier to wait
for the file chooser to finish running, and then to get the list of
selected files using the functions mentioned below.</p>
<p>See also: <a class="link" href="GtkFileChooser.html#gtk-file-chooser-select-filename" title="gtk_file_chooser_select_filename ()"><code class="function">gtk_file_chooser_select_filename()</code></a>,
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-unselect-filename" title="gtk_file_chooser_unselect_filename ()"><code class="function">gtk_file_chooser_unselect_filename()</code></a>, <a class="link" href="GtkFileChooser.html#gtk-file-chooser-get-filename" title="gtk_file_chooser_get_filename ()"><code class="function">gtk_file_chooser_get_filename()</code></a>,
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-get-filenames" title="gtk_file_chooser_get_filenames ()"><code class="function">gtk_file_chooser_get_filenames()</code></a>, <a class="link" href="GtkFileChooser.html#gtk-file-chooser-select-uri" title="gtk_file_chooser_select_uri ()"><code class="function">gtk_file_chooser_select_uri()</code></a>,
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-unselect-uri" title="gtk_file_chooser_unselect_uri ()"><code class="function">gtk_file_chooser_unselect_uri()</code></a>, <a class="link" href="GtkFileChooser.html#gtk-file-chooser-get-uri" title="gtk_file_chooser_get_uri ()"><code class="function">gtk_file_chooser_get_uri()</code></a>,
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-get-uris" title="gtk_file_chooser_get_uris ()"><code class="function">gtk_file_chooser_get_uris()</code></a>.</p>
<div class="refsect3">
<a name="GtkFileChooser-selection-changed.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>the object which received the signal.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>user_data</p></td>
<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p>Flags: Run Last</p>
</div>
<hr>
<div class="refsect2">
<a name="GtkFileChooser-update-preview"></a><h3>The <code class="literal">“update-preview”</code> signal</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
user_function (<a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser,
               <span class="type">gpointer</span>        user_data)</pre>
<p>This signal is emitted when the preview in a file chooser should be
regenerated.  For example, this can happen when the currently selected file
changes.  You should use this signal if you want your file chooser to have
a preview widget.</p>
<p>Once you have installed a preview widget with
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-set-preview-widget" title="gtk_file_chooser_set_preview_widget ()"><code class="function">gtk_file_chooser_set_preview_widget()</code></a>, you should update it when this
signal is emitted.  You can use the functions
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-get-preview-filename" title="gtk_file_chooser_get_preview_filename ()"><code class="function">gtk_file_chooser_get_preview_filename()</code></a> or
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-get-preview-uri" title="gtk_file_chooser_get_preview_uri ()"><code class="function">gtk_file_chooser_get_preview_uri()</code></a> to get the name of the file to preview.
Your widget may not be able to preview all kinds of files; your callback
must call <a class="link" href="GtkFileChooser.html#gtk-file-chooser-set-preview-widget-active" title="gtk_file_chooser_set_preview_widget_active ()"><code class="function">gtk_file_chooser_set_preview_widget_active()</code></a> to inform the file
chooser about whether the preview was generated successfully or not.</p>
<p>Please see the example code in
<a class="link" href="GtkFileChooser.html#gtkfilechooser-preview" title="Example: Using a Preview Widget">Using a Preview Widget</a>.</p>
<p>See also: <a class="link" href="GtkFileChooser.html#gtk-file-chooser-set-preview-widget" title="gtk_file_chooser_set_preview_widget ()"><code class="function">gtk_file_chooser_set_preview_widget()</code></a>,
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-set-preview-widget-active" title="gtk_file_chooser_set_preview_widget_active ()"><code class="function">gtk_file_chooser_set_preview_widget_active()</code></a>,
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-set-use-preview-label" title="gtk_file_chooser_set_use_preview_label ()"><code class="function">gtk_file_chooser_set_use_preview_label()</code></a>,
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-get-preview-filename" title="gtk_file_chooser_get_preview_filename ()"><code class="function">gtk_file_chooser_get_preview_filename()</code></a>,
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-get-preview-uri" title="gtk_file_chooser_get_preview_uri ()"><code class="function">gtk_file_chooser_get_preview_uri()</code></a>.</p>
<div class="refsect3">
<a name="GtkFileChooser-update-preview.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>the object which received the signal.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>user_data</p></td>
<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p>Flags: Run Last</p>
</div>
</div>
<div class="refsect1">
<a name="GtkFileChooser.see-also"></a><h2>See Also</h2>
<p><a class="link" href="GtkFileChooserDialog.html" title="GtkFileChooserDialog"><span class="type">GtkFileChooserDialog</span></a>, <a class="link" href="GtkFileChooserWidget.html" title="GtkFileChooserWidget"><span class="type">GtkFileChooserWidget</span></a>, <a class="link" href="GtkFileChooserButton.html" title="GtkFileChooserButton"><span class="type">GtkFileChooserButton</span></a></p>
</div>
</div>
<div class="footer">
<hr>Generated by GTK-Doc V1.33.1</div>
</body>
</html>